; LLVM IR from ASDAlexander77/TypeScriptCompiler :: tsc/tsc-new-parser/scanner.ll (ZN2ts7Scanner4scanEv)

; Unoptimized IR (clang -disable-llvm-passes):
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"

%"struct.ts::DiagnosticMessageStore" = type { i32, i32, %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string" }
%"class.std::__cxx11::basic_string" = type { %"struct.std::__cxx11::basic_string<wchar_t>::_Alloc_hider", i64, %union.anon }
%"struct.std::__cxx11::basic_string<wchar_t>::_Alloc_hider" = type { ptr }
%union.anon = type { i64, [8 x i8] }
%"class.std::__cxx11::basic_regex" = type { i32, %"class.std::locale", %"class.std::shared_ptr" }
%"class.std::locale" = type { ptr }
%"class.std::shared_ptr" = type { %"class.std::__shared_ptr" }
%"class.std::__shared_ptr" = type { ptr, %"class.std::__shared_count" }
%"class.std::__shared_count" = type { ptr }
%"struct.std::_Placeholder" = type { i8 }
%"struct.std::_Placeholder.139" = type { i8 }
%"struct.std::_Placeholder.140" = type { i8 }
%"struct.std::_Placeholder.141" = type { i8 }
%struct.ptr.100 = type { %"class.std::shared_ptr.101" }
%"class.std::shared_ptr.101" = type { %"class.std::__shared_ptr.102" }
%"class.std::__shared_ptr.102" = type { ptr, %"class.std::__shared_count" }
%"struct.ts::data::DiagnosticMessage" = type <{ i32, i32, %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string", %"class.std::vector.104", %"class.std::vector.104", i8, [7 x i8] }>
%"class.std::vector.104" = type { %"struct.std::_Vector_base.105" }
%"struct.std::_Vector_base.105" = type { %"struct.std::_Vector_base<std::__cxx11::basic_string<wchar_t>, std::allocator<std::__cxx11::basic_string<wchar_t>>>::_Vector_impl" }
%"struct.std::_Vector_base<std::__cxx11::basic_string<wchar_t>, std::allocator<std::__cxx11::basic_string<wchar_t>>>::_Vector_impl" = type { %"struct.std::_Vector_base<std::__cxx11::basic_string<wchar_t>, std::allocator<std::__cxx11::basic_string<wchar_t>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<std::__cxx11::basic_string<wchar_t>, std::allocator<std::__cxx11::basic_string<wchar_t>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::allocator.0" = type { i8 }
%"class.std::vector.41" = type { %"struct.std::_Vector_base.42" }
%"struct.std::_Vector_base.42" = type { %"struct.std::_Vector_base<ptr<ts::data::CommentDirective>, std::allocator<ptr<ts::data::CommentDirective>>>::_Vector_impl" }
%"struct.std::_Vector_base<ptr<ts::data::CommentDirective>, std::allocator<ptr<ts::data::CommentDirective>>>::_Vector_impl" = type { %"struct.std::_Vector_base<ptr<ts::data::CommentDirective>, std::allocator<ptr<ts::data::CommentDirective>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<ptr<ts::data::CommentDirective>, std::allocator<ptr<ts::data::CommentDirective>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"struct.ts::pos_type" = type { i32, i32 }
%"class.std::function.98" = type { %"class.std::_Function_base", ptr }
%"class.std::_Function_base" = type { %"union.std::_Any_data", ptr }
%"union.std::_Any_data" = type { %"union.std::_Nocopy_types" }
%"union.std::_Nocopy_types" = type { { i64, i64 } }
%"class.std::_Bind.147" = type { { i64, i64 }, %"class.std::tuple.150" }
%"class.std::tuple.150" = type { %"struct.std::_Tuple_impl.151" }
%"struct.std::_Tuple_impl.151" = type { %"struct.std::_Head_base.138" }
%"struct.std::_Head_base.138" = type { ptr }
%"class.ts::Scanner" = type { i32, i32, i8, i32, %"struct.ts::safe_string", i32, i32, i32, i32, i32, %"class.std::__cxx11::basic_string", i32, %"class.std::vector.41", i32, i32, %"class.std::function" }
%"struct.ts::safe_string" = type { %"class.std::__cxx11::basic_string" }
%"class.std::function" = type { %"class.std::_Function_base", ptr }

@_ZN2ts11DiagnosticsL23Asterisk_Slash_expectedE = external hidden global %"struct.ts::DiagnosticMessageStore", align 8
@_ZN2ts11DiagnosticsL26Hexadecimal_digit_expectedE = external hidden global %"struct.ts::DiagnosticMessageStore", align 8
@_ZN2ts11DiagnosticsL17Invalid_characterE = external hidden global %"struct.ts::DiagnosticMessageStore", align 8
@_ZN2ts11DiagnosticsL21Binary_digit_expectedE = external hidden global %"struct.ts::DiagnosticMessageStore", align 8
@_ZN2ts11DiagnosticsL20Octal_digit_expectedE = external hidden global %"struct.ts::DiagnosticMessageStore", align 8
@_ZN2ts11DiagnosticsL25File_appears_to_be_binaryE = external hidden global %"struct.ts::DiagnosticMessageStore", align 8
@_ZN2ts11DiagnosticsL39can_only_be_used_at_the_start_of_a_fileE = external hidden global %"struct.ts::DiagnosticMessageStore", align 8
@_ZN2ts7Scanner31commentDirectiveRegExSingleLineB5cxx11E = external dso_local global %"class.std::__cxx11::basic_regex", align 8
@_ZN2ts7Scanner30commentDirectiveRegExMultiLineB5cxx11E = external dso_local global %"class.std::__cxx11::basic_regex", align 8
@_ZNSt12placeholders2_1E = external global %"struct.std::_Placeholder", align 1
@_ZNSt12placeholders2_2E = external global %"struct.std::_Placeholder.139", align 1
@_ZNSt12placeholders2_3E = external global %"struct.std::_Placeholder.140", align 1
@_ZNSt12placeholders2_4E = external global %"struct.std::_Placeholder.141", align 1
@.str.6452 = external hidden unnamed_addr constant [1 x i32], align 4
@.str.6453 = external hidden unnamed_addr constant [2 x i32], align 4
@.str.6455 = external hidden unnamed_addr constant [3 x i32], align 4
@.str.6467 = external hidden unnamed_addr constant [3 x i32], align 4
@.str.6468 = external hidden unnamed_addr constant [3 x i32], align 4
@.str.6469 = external hidden unnamed_addr constant [2 x i32], align 4

; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
declare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture) #0

; Function Attrs: mustprogress nounwind uwtable
declare void @_ZNSaIwEC2Ev(ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #1 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2IS3_EEPKwRKS3_(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef, ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #2 align 2

declare i32 @__gxx_personality_v0(...)

; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
declare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture) #0

; Function Attrs: mustprogress nounwind uwtable
declare void @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEED2Ev(ptr noundef nonnull align 8 dereferenceable(32)) unnamed_addr #1 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZNSt7__cxx1111basic_regexIwNS_12regex_traitsIwEEED2Ev(ptr noundef nonnull align 8 dereferenceable(32)) unnamed_addr #1 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZNSt6vectorI3ptrIN2ts4data16CommentDirectiveEESaIS4_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24)) unnamed_addr #1 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN2ts11safe_string9substringB5cxx11Eii(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 8 dereferenceable(32), i32 noundef, i32 noundef) #2 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef i32 @_ZN2tsanENS_10TokenFlagsES0_(i32 noundef, i32 noundef) #3

; Function Attrs: mustprogress uwtable
declare dso_local noundef i32 @_ZN2ts11safe_stringixEi(ptr noundef nonnull align 8 dereferenceable(32), i32 noundef) #2 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZN2ts7Scanner11isLineBreakE14CharacterCodes(ptr noundef nonnull align 8 dereferenceable(176), i32 noundef) #1 align 2

; Function Attrs: mustprogress nounwind uwtable
declare noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32)) #1 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZN2ts7Scanner22isWhiteSpaceSingleLineE14CharacterCodes(ptr noundef nonnull align 8 dereferenceable(176), i32 noundef) #1 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZN2ts7Scanner7isDigitE14CharacterCodes(ptr noundef nonnull align 8 dereferenceable(176), i32 noundef) #1 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZN2ts7Scanner22isConflictMarkerTriviaERNS_11safe_stringEi(ptr noundef nonnull align 8 dereferenceable(176), ptr noundef nonnull align 8 dereferenceable(32), i32 noundef) #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef i32 @_ZN2ts7Scanner24scanConflictMarkerTriviaERNS_11safe_stringEiSt8functionIFv3ptrINS_4data17DiagnosticMessageEEiiNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEEE(ptr noundef nonnull align 8 dereferenceable(176), ptr noundef nonnull align 8 dereferenceable(32), i32 noundef, ptr noundef) #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZN2ts7Scanner15isShebangTriviaERNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEi(ptr noundef nonnull align 8 dereferenceable(176), ptr noundef nonnull align 8 dereferenceable(32), i32 noundef) #2 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(32) ptr @_ZN2ts11safe_stringcvRNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEEv(ptr noundef nonnull align 8 dereferenceable(32)) #1 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef i32 @_ZN2ts7Scanner17scanShebangTriviaERNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEi(ptr noundef nonnull align 8 dereferenceable(176), ptr noundef nonnull align 8 dereferenceable(32), i32 noundef) #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN2ts4data17DiagnosticMessageC2ERNS_22DiagnosticMessageStoreE(ptr noundef nonnull align 8 dereferenceable(121), ptr noundef nonnull align 8 dereferenceable(72)) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN3ptrIN2ts4data17DiagnosticMessageEEC2ERKS2_(ptr noundef nonnull align 8 dereferenceable(16), ptr noundef nonnull align 8 dereferenceable(121)) unnamed_addr #2 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN3ptrIN2ts4data17DiagnosticMessageEED2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #1 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN2ts4data17DiagnosticMessageD2Ev(ptr noundef nonnull align 8 dereferenceable(121)) unnamed_addr #3 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZN2ts7Scanner17isIdentifierStartE14CharacterCodesNS_12ScriptTargetE(ptr noundef nonnull align 8 dereferenceable(176), i32 noundef, i32 noundef) #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef i32 @_ZN2ts7Scanner11codePointAtERNS_11safe_stringEi(ptr noundef nonnull align 8 dereferenceable(176), ptr noundef nonnull align 8 dereferenceable(32), i32 noundef) #2 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef i32 @_ZN2ts7Scanner8charSizeE14CharacterCodes(ptr noundef nonnull align 8 dereferenceable(176), i32 noundef) #1 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN2ts7Scanner5errorE3ptrINS_4data17DiagnosticMessageEEiiNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEE(ptr noundef nonnull align 8 dereferenceable(176), ptr noundef, i32 noundef, i32 noundef, ptr noundef) #2 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef nonnull align 4 dereferenceable(4) ptr @_ZN2tsoRERNS_10TokenFlagsES0_(ptr noundef nonnull align 4 dereferenceable(4), i32 noundef) #3

; Function Attrs: mustprogress uwtable
declare dso_local noundef i32 @_ZN2ts7Scanner10scanNumberEv(ptr noundef nonnull align 8 dereferenceable(176)) #2 align 2

; Function Attrs: mustprogress nounwind uwtable
declare noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEaSEOS4_(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(32)) #1 align 2

; Function Attrs: mustprogress uwtable
declare noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEaSEPKw(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef) #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZStplIwSt11char_traitsIwESaIwEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef, ptr noundef nonnull align 8 dereferenceable(32)) #2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZN2tsntENS_10TokenFlagsE(i32 noundef) #3

; Function Attrs: mustprogress uwtable
declare dso_local noundef i32 @_ZN2ts7Scanner17checkBigIntSuffixEv(ptr noundef nonnull align 8 dereferenceable(176)) #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN2ts7Scanner19scanIdentifierPartsB5cxx11Ev(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 8 dereferenceable(176)) #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN2ts7Scanner28scanMinimumNumberOfHexDigitsB5cxx11Eib(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 8 dereferenceable(176), i32 noundef, i1 noundef zeroext) #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN2ts7Scanner10scanStringB5cxx11Eb(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 8 dereferenceable(176), i1 noundef zeroext) #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef i32 @_ZN2ts7Scanner28scanTemplateAndSetTokenValueEb(ptr noundef nonnull align 8 dereferenceable(176), i1 noundef zeroext) #2 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZStplIwSt11char_traitsIwESaIwEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef, ptr noundef nonnull align 8 dereferenceable(32)) #4

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN2ts12fromCharCodeB5cxx11Ew(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, i32 noundef signext) #4

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2IS3_EEmwRKS3_(ptr noundef nonnull align 8 dereferenceable(32), i64 noundef, i32 noundef signext, ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN2ts7Scanner25scanExtendedUnicodeEscapeB5cxx11Ev(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 8 dereferenceable(176)) #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef i32 @_ZN2ts7Scanner17peekUnicodeEscapeEv(ptr noundef nonnull align 8 dereferenceable(176)) #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef i32 @_ZN2ts7Scanner25peekExtendedUnicodeEscapeEv(ptr noundef nonnull align 8 dereferenceable(176)) #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef i32 @_ZN2ts7Scanner18getIdentifierTokenEv(ptr noundef nonnull align 8 dereferenceable(176)) #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN2ts7Scanner23scanBinaryOrOctalDigitsB5cxx11Ei(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 8 dereferenceable(176), i32 noundef) #2 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZStplIwSt11char_traitsIwESaIwEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(32)) #4

; Function Attrs: mustprogress uwtable
define dso_local noundef i32 @_ZN2ts7Scanner4scanEv(ptr noundef nonnull align 8 dereferenceable(176) %0) #2 align 2 personality ptr @__gxx_personality_v0 {
  %2 = alloca i32, align 4
  %3 = alloca ptr, align 8
  %4 = alloca i8, align 1
  %5 = alloca i32, align 4
  %6 = alloca i32, align 4
  %7 = alloca %struct.ptr.100, align 8
  %8 = alloca %"struct.ts::data::DiagnosticMessage", align 8
  %9 = alloca ptr, align 8
  %10 = alloca i32, align 4
  %11 = alloca %"class.std::__cxx11::basic_string", align 8
  %12 = alloca %"class.std::allocator.0", align 1
  %13 = alloca %"class.std::__cxx11::basic_string", align 8
  %14 = alloca %"class.std::vector.41", align 8
  %15 = alloca %"class.std::vector.41", align 8
  %16 = alloca %"class.std::__cxx11::basic_string", align 8
  %17 = alloca %"class.std::__cxx11::basic_regex", align 8
  %18 = alloca %"struct.ts::pos_type", align 4
  %19 = alloca i8, align 1
  %20 = alloca i8, align 1
  %21 = alloca i32, align 4
  %22 = alloca i32, align 4
  %23 = alloca %"class.std::vector.41", align 8
  %24 = alloca %"class.std::vector.41", align 8
  %25 = alloca %"class.std::__cxx11::basic_string", align 8
  %26 = alloca %"class.std::__cxx11::basic_regex", align 8
  %27 = alloca %"struct.ts::pos_type", align 4
  %28 = alloca %struct.ptr.100, align 8
  %29 = alloca %"struct.ts::data::DiagnosticMessage", align 8
  %30 = alloca %"class.std::__cxx11::basic_string", align 8
  %31 = alloca %"class.std::allocator.0", align 1
  %32 = alloca %"class.std::__cxx11::basic_string", align 8
  %33 = alloca %struct.ptr.100, align 8
  %34 = alloca %"struct.ts::data::DiagnosticMessage", align 8
  %35 = alloca %"class.std::__cxx11::basic_string", align 8
  %36 = alloca %"class.std::allocator.0", align 1
  %37 = alloca %"class.std::__cxx11::basic_string", align 8
  %38 = alloca %"class.std::__cxx11::basic_string", align 8
  %39 = alloca %struct.ptr.100, align 8
  %40 = alloca %"struct.ts::data::DiagnosticMessage", align 8
  %41 = alloca %"class.std::__cxx11::basic_string", align 8
  %42 = alloca %"class.std::allocator.0", align 1
  %43 = alloca %"class.std::__cxx11::basic_string", align 8
  %44 = alloca %"class.std::__cxx11::basic_string", align 8
  %45 = alloca %struct.ptr.100, align 8
  %46 = alloca %"struct.ts::data::DiagnosticMessage", align 8
  %47 = alloca %"class.std::__cxx11::basic_string", align 8
  %48 = alloca %"class.std::allocator.0", align 1
  %49 = alloca %"class.std::__cxx11::basic_string", align 8
  %50 = alloca %"class.std::function.98", align 8
  %51 = alloca %"class.std::_Bind.147", align 8
  %52 = alloca { i64, i64 }, align 8
  %53 = alloca ptr, align 8
  %54 = alloca %"class.std::function.98", align 8
  %55 = alloca %"class.std::_Bind.147", align 8
  %56 = alloca { i64, i64 }, align 8
  %57 = alloca ptr, align 8
  %58 = alloca %"class.std::function.98", align 8
  %59 = alloca %"class.std::_Bind.147", align 8
  %60 = alloca { i64, i64 }, align 8
  %61 = alloca ptr, align 8
  %62 = alloca %"class.std::function.98", align 8
  %63 = alloca %"class.std::_Bind.147", align 8
  %64 = alloca { i64, i64 }, align 8
  %65 = alloca ptr, align 8
  %66 = alloca i32, align 4
  %67 = alloca %"class.std::__cxx11::basic_string", align 8
  %68 = alloca %"class.std::__cxx11::basic_string", align 8
  %69 = alloca %"class.std::__cxx11::basic_string", align 8
  %70 = alloca i32, align 4
  %71 = alloca %"class.std::__cxx11::basic_string", align 8
  %72 = alloca %"class.std::__cxx11::basic_string", align 8
  %73 = alloca %"class.std::allocator.0", align 1
  %74 = alloca %"class.std::__cxx11::basic_string", align 8
  %75 = alloca %struct.ptr.100, align 8
  %76 = alloca %"struct.ts::data::DiagnosticMessage", align 8
  %77 = alloca %"class.std::__cxx11::basic_string", align 8
  %78 = alloca %"class.std::allocator.0", align 1
  %79 = alloca %struct.ptr.100, align 8
  %80 = alloca %"struct.ts::data::DiagnosticMessage", align 8
  %81 = alloca %"class.std::__cxx11::basic_string", align 8
  %82 = alloca %"class.std::allocator.0", align 1
  %83 = alloca i32, align 4
  %84 = alloca i32, align 4
  %85 = alloca %"class.std::__cxx11::basic_string", align 8
  %86 = alloca %"class.std::__cxx11::basic_string", align 8
  %87 = alloca %"class.std::__cxx11::basic_string", align 8
  %88 = alloca %"class.std::__cxx11::basic_string", align 8
  %89 = alloca i32, align 4
  %90 = alloca %"class.std::__cxx11::basic_string", align 8
  %91 = alloca %"class.std::__cxx11::basic_string", align 8
  %92 = alloca %"class.std::__cxx11::basic_string", align 8
  %93 = alloca %"class.std::__cxx11::basic_string", align 8
  %94 = alloca %struct.ptr.100, align 8
  %95 = alloca %"struct.ts::data::DiagnosticMessage", align 8
  %96 = alloca %"class.std::__cxx11::basic_string", align 8
  %97 = alloca %"class.std::allocator.0", align 1
  %98 = alloca i32, align 4
  %99 = alloca i32, align 4
  %100 = alloca %struct.ptr.100, align 8
  %101 = alloca %"struct.ts::data::DiagnosticMessage", align 8
  %102 = alloca %"class.std::__cxx11::basic_string", align 8
  %103 = alloca %"class.std::allocator.0", align 1
  store ptr %0, ptr %3, align 8, !tbaa !5
  %104 = load ptr, ptr %3, align 8
  %105 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %106 = load i32, ptr %105, align 8, !tbaa !9
  %107 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 7
  store i32 %106, ptr %107, align 8, !tbaa !29
  %108 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 11
  store i32 0, ptr %108, align 8, !tbaa !30
  call void @llvm.lifetime.start.p0(i64 1, ptr %4) #5
  store i8 0, ptr %4, align 1, !tbaa !31
  br label %109

109:                                              ; preds = %1554, %1
  br label %110

110:                                              ; preds = %109
  %111 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %112 = load i32, ptr %111, align 8, !tbaa !9
  %113 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 8
  store i32 %112, ptr %113, align 4, !tbaa !32
  %114 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %115 = load i32, ptr %114, align 8, !tbaa !9
  %116 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 6
  %117 = load i32, ptr %116, align 4, !tbaa !33
  %118 = icmp sge i32 %115, %117
  br i1 %118, label %119, label %121

119:                                              ; preds = %110
  %120 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 9
  store i32 1, ptr %120, align 8, !tbaa !34
  store i32 1, ptr %2, align 4
  store i32 1, ptr %5, align 4
  br label %1557

121:                                              ; preds = %110
  call void @llvm.lifetime.start.p0(i64 4, ptr %6) #5
  %122 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 4
  %123 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %124 = load i32, ptr %123, align 8, !tbaa !9
  %125 = call noundef i32 @_ZN2ts7Scanner11codePointAtERNS_11safe_stringEi(ptr noundef nonnull align 8 dereferenceable(176) %104, ptr noundef nonnull align 8 dereferenceable(32) %122, i32 noundef %124)
  store i32 %125, ptr %6, align 4, !tbaa !35
  %126 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %127 = load i32, ptr %126, align 8, !tbaa !9
  %128 = icmp eq i32 %127, 0
  br i1 %128, label %129, label %177

129:                                              ; preds = %121
  %130 = load i32, ptr %6, align 4, !tbaa !35
  %131 = icmp eq i32 %130, 65533
  br i1 %131, label %132, label %154

132:                                              ; preds = %129
  call void @llvm.lifetime.start.p0(i64 128, ptr %8) #5
  call void @_ZN2ts4data17DiagnosticMessageC2ERNS_22DiagnosticMessageStoreE(ptr noundef nonnull align 8 dereferenceable(121) %8, ptr noundef nonnull align 8 dereferenceable(72) @_ZN2ts11DiagnosticsL25File_appears_to_be_binaryE)
  invoke void @_ZN3ptrIN2ts4data17DiagnosticMessageEEC2ERKS2_(ptr noundef nonnull align 8 dereferenceable(16) %7, ptr noundef nonnull align 8 dereferenceable(121) %8)
          to label %133 unwind label %140

133:                                              ; preds = %132
  call void @llvm.lifetime.start.p0(i64 1, ptr %12) #5
  call void @_ZNSaIwEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %12) #5
  invoke void @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2IS3_EEPKwRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %11, ptr noundef @.str.6452, ptr noundef nonnull align 1 dereferenceable(1) %12)
          to label %134 unwind label %144

134:                                              ; preds = %133
  invoke void @_ZN2ts7Scanner5errorE3ptrINS_4data17DiagnosticMessageEEiiNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEE(ptr noundef nonnull align 8 dereferenceable(176) %104, ptr noundef %7, i32 noundef -1, i32 noundef 0, ptr noundef %11)
          to label %135 unwind label %148

135:                                              ; preds = %134
  call void @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %11) #5
  call void @_ZNSt15__new_allocatorIwED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %12) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %12) #5
  call void @_ZN3ptrIN2ts4data17DiagnosticMessageEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %7) #5
  call void @_ZN2ts4data17DiagnosticMessageD2Ev(ptr noundef nonnull align 8 dereferenceable(121) %8) #5
  call void @llvm.lifetime.end.p0(i64 128, ptr %8) #5
  %136 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 6
  %137 = load i32, ptr %136, align 4, !tbaa !33
  %138 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  store i32 %137, ptr %138, align 8, !tbaa !9
  %139 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 9
  store i32 8, ptr %139, align 8, !tbaa !34
  store i32 8, ptr %2, align 4
  store i32 1, ptr %5, align 4
  br label %1554

140:                                              ; preds = %132
  %141 = landingpad { ptr, i32 }
          cleanup
  %142 = extractvalue { ptr, i32 } %141, 0
  store ptr %142, ptr %9, align 8
  %143 = extractvalue { ptr, i32 } %141, 1
  store i32 %143, ptr %10, align 4
  br label %153

144:                                              ; preds = %133
  %145 = landingpad { ptr, i32 }
          cleanup
  %146 = extractvalue { ptr, i32 } %145, 0
  store ptr %146, ptr %9, align 8
  %147 = extractvalue { ptr, i32 } %145, 1
  store i32 %147, ptr %10, align 4
  br label %152

148:                                              ; preds = %134
  %149 = landingpad { ptr, i32 }
          cleanup
  %150 = extractvalue { ptr, i32 } %149, 0
  store ptr %150, ptr %9, align 8
  %151 = extractvalue { ptr, i32 } %149, 1
  store i32 %151, ptr %10, align 4
  call void @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %11) #5
  br label %152

152:                                              ; preds = %148, %144
  call void @_ZNSt15__new_allocatorIwED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %12) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %12) #5
  call void @_ZN3ptrIN2ts4data17DiagnosticMessageEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %7) #5
  br label %153

153:                                              ; preds = %152, %140
  call void @_ZN2ts4data17DiagnosticMessageD2Ev(ptr noundef nonnull align 8 dereferenceable(121) %8) #5
  call void @llvm.lifetime.end.p0(i64 128, ptr %8) #5
  br label %1556

154:                                              ; preds = %129
  %155 = load i32, ptr %6, align 4, !tbaa !35
  %156 = icmp eq i32 %155, 35
  br i1 %156, label %157, label %176

157:                                              ; preds = %154
  %158 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 4
  %159 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN2ts11safe_stringcvRNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEEv(ptr noundef nonnull align 8 dereferenceable(32) %158)
  %160 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %161 = load i32, ptr %160, align 8, !tbaa !9
  %162 = call noundef zeroext i1 @_ZN2ts7Scanner15isShebangTriviaERNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEi(ptr noundef nonnull align 8 dereferenceable(176) %104, ptr noundef nonnull align 8 dereferenceable(32) %159, i32 noundef %161)
  br i1 %162, label %163, label %176

163:                                              ; preds = %157
  %164 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 4
  %165 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN2ts11safe_stringcvRNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEEv(ptr noundef nonnull align 8 dereferenceable(32) %164)
  %166 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %167 = load i32, ptr %166, align 8, !tbaa !9
  %168 = call noundef i32 @_ZN2ts7Scanner17scanShebangTriviaERNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEi(ptr noundef nonnull align 8 dereferenceable(176) %104, ptr noundef nonnull align 8 dereferenceable(32) %165, i32 noundef %167)
  %169 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  store i32 %168, ptr %169, align 8, !tbaa !9
  %170 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 2
  %171 = load i8, ptr %170, align 8, !tbaa !37, !range !38, !noundef !39
  %172 = trunc i8 %171 to i1
  br i1 %172, label %173, label %174

173:                                              ; preds = %163
  store i32 2, ptr %5, align 4
  br label %1554, !llvm.loop !40

174:                                              ; preds = %163
  %175 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 9
  store i32 6, ptr %175, align 8, !tbaa !34
  store i32 6, ptr %2, align 4
  store i32 1, ptr %5, align 4
  br label %1554

176:                                              ; preds = %157, %154
  br label %177

177:                                              ; preds = %176, %121
  %178 = load i32, ptr %6, align 4, !tbaa !35
  switch i32 %178, label %1493 [
    i32 10, label %179
    i32 13, label %179
    i32 9, label %216
    i32 11, label %216
    i32 12, label %216
    i32 32, label %216
    i32 160, label %216
    i32 5760, label %216
    i32 8192, label %216
    i32 8193, label %216
    i32 8194, label %216
    i32 8195, label %216
    i32 8196, label %216
    i32 8197, label %216
    i32 8198, label %216
    i32 8199, label %216
    i32 8200, label %216
    i32 8201, label %216
    i32 8202, label %216
    i32 8203, label %216
    i32 8239, label %216
    i32 8287, label %216
    i32 12288, label %216
    i32 65279, label %216
    i32 33, label %245
    i32 34, label %274
    i32 39, label %274
    i32 96, label %278
    i32 37, label %281
    i32 38, label %298
    i32 40, label %339
    i32 41, label %344
    i32 42, label %349
    i32 43, label %403
    i32 44, label %432
    i32 45, label %437
    i32 46, label %466
    i32 47, label %500
    i32 48, label %707
    i32 49, label %881
    i32 50, label %881
    i32 51, label %881
    i32 52, label %881
    i32 53, label %881
    i32 54, label %881
    i32 55, label %881
    i32 56, label %881
    i32 57, label %881
    i32 58, label %884
    i32 59, label %889
    i32 60, label %894
    i32 61, label %980
    i32 62, label %1043
    i32 63, label %1070
    i32 91, label %1118
    i32 93, label %1123
    i32 94, label %1128
    i32 123, label %1145
    i32 124, label %1150
    i32 125, label %1213
    i32 126, label %1218
    i32 64, label %1223
    i32 92, label %1228
    i32 35, label %1321
  ]

179:                                              ; preds = %177, %177
  %180 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 11
  %181 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN2tsoRERNS_10TokenFlagsES0_(ptr noundef nonnull align 4 dereferenceable(4) %180, i32 noundef 1)
  %182 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 2
  %183 = load i8, ptr %182, align 8, !tbaa !37, !range !38, !noundef !39
  %184 = trunc i8 %183 to i1
  br i1 %184, label %185, label %189

185:                                              ; preds = %179
  %186 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %187 = load i32, ptr %186, align 8, !tbaa !9
  %188 = add nsw i32 %187, 1
  store i32 %188, ptr %186, align 8, !tbaa !9
  store i32 2, ptr %5, align 4
  br label %1554, !llvm.loop !40

189:                                              ; preds = %179
  %190 = load i32, ptr %6, align 4, !tbaa !35
  %191 = icmp eq i32 %190, 13
  br i1 %191, label %192, label %210

192:                                              ; preds = %189
  %193 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %194 = load i32, ptr %193, align 8, !tbaa !9
  %195 = add nsw i32 %194, 1
  %196 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 6
  %197 = load i32, ptr %196, align 4, !tbaa !33
  %198 = icmp slt i32 %195, %197
  br i1 %198, label %199, label %210

199:                                              ; preds = %192
  %200 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 4
  %201 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %202 = load i32, ptr %201, align 8, !tbaa !9
  %203 = add nsw i32 %202, 1
  %204 = call noundef i32 @_ZN2ts11safe_stringixEi(ptr noundef nonnull align 8 dereferenceable(32) %200, i32 noundef %203)
  %205 = icmp eq i32 %204, 10
  br i1 %205, label %206, label %210

206:                                              ; preds = %199
  %207 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %208 = load i32, ptr %207, align 8, !tbaa !9
  %209 = add nsw i32 %208, 2
  store i32 %209, ptr %207, align 8, !tbaa !9
  br label %214

210:                                              ; preds = %199, %192, %189
  %211 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %212 = load i32, ptr %211, align 8, !tbaa !9
  %213 = add nsw i32 %212, 1
  store i32 %213, ptr %211, align 8, !tbaa !9
  br label %214

214:                                              ; preds = %210, %206
  %215 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 9
  store i32 4, ptr %215, align 8, !tbaa !34
  store i32 4, ptr %2, align 4
  store i32 1, ptr %5, align 4
  br label %1554

216:                                              ; preds = %177, %177, %177, %177, %177, %177, %177, %177, %177, %177, %177, %177, %177, %177, %177, %177, %177, %177, %177, %177, %177, %177
  %217 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 2
  %218 = load i8, ptr %217, align 8, !tbaa !37, !range !38, !noundef !39
  %219 = trunc i8 %218 to i1
  br i1 %219, label %220, label %224

220:                                              ; preds = %216
  %221 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %222 = load i32, ptr %221, align 8, !tbaa !9
  %223 = add nsw i32 %222, 1
  store i32 %223, ptr %221, align 8, !tbaa !9
  store i32 2, ptr %5, align 4
  br label %1554, !llvm.loop !40

224:                                              ; preds = %216
  br label %225

225:                                              ; preds = %239, %224
  %226 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %227 = load i32, ptr %226, align 8, !tbaa !9
  %228 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 6
  %229 = load i32, ptr %228, align 4, !tbaa !33
  %230 = icmp slt i32 %227, %229
  br i1 %230, label %231, label %237

231:                                              ; preds = %225
  %232 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 4
  %233 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %234 = load i32, ptr %233, align 8, !tbaa !9
  %235 = call noundef i32 @_ZN2ts11safe_stringixEi(ptr noundef nonnull align 8 dereferenceable(32) %232, i32 noundef %234)
  %236 = call noundef zeroext i1 @_ZN2ts7Scanner22isWhiteSpaceSingleLineE14CharacterCodes(ptr noundef nonnull align 8 dereferenceable(176) %104, i32 noundef %235)
  br label %237

237:                                              ; preds = %231, %225
  %238 = phi i1 [ false, %225 ], [ %236, %231 ]
  br i1 %238, label %239, label %243

239:                                              ; preds = %237
  %240 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %241 = load i32, ptr %240, align 8, !tbaa !9
  %242 = add nsw i32 %241, 1
  store i32 %242, ptr %240, align 8, !tbaa !9
  br label %225, !llvm.loop !42

243:                                              ; preds = %237
  %244 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 9
  store i32 5, ptr %244, align 8, !tbaa !34
  store i32 5, ptr %2, align 4
  store i32 1, ptr %5, align 4
  br label %1554

245:                                              ; preds = %177
  %246 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 4
  %247 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %248 = load i32, ptr %247, align 8, !tbaa !9
  %249 = add nsw i32 %248, 1
  %250 = call noundef i32 @_ZN2ts11safe_stringixEi(ptr noundef nonnull align 8 dereferenceable(32) %246, i32 noundef %249)
  %251 = icmp eq i32 %250, 61
  br i1 %251, label %252, label %269

252:                                              ; preds = %245
  %253 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 4
  %254 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %255 = load i32, ptr %254, align 8, !tbaa !9
  %256 = add nsw i32 %255, 2
  %257 = call noundef i32 @_ZN2ts11safe_stringixEi(ptr noundef nonnull align 8 dereferenceable(32) %253, i32 noundef %256)
  %258 = icmp eq i32 %257, 61
  br i1 %258, label %259, label %264

259:                                              ; preds = %252
  %260 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %261 = load i32, ptr %260, align 8, !tbaa !9
  %262 = add nsw i32 %261, 3
  store i32 %262, ptr %260, align 8, !tbaa !9
  %263 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 9
  store i32 38, ptr %263, align 8, !tbaa !34
  store i32 38, ptr %2, align 4
  store i32 1, ptr %5, align 4
  br label %1554

264:                                              ; preds = %252
  %265 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %266 = load i32, ptr %265, align 8, !tbaa !9
  %267 = add nsw i32 %266, 2
  store i32 %267, ptr %265, align 8, !tbaa !9
  %268 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 9
  store i32 36, ptr %268, align 8, !tbaa !34
  store i32 36, ptr %2, align 4
  store i32 1, ptr %5, align 4
  br label %1554

269:                                              ; preds = %245
  %270 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %271 = load i32, ptr %270, align 8, !tbaa !9
  %272 = add nsw i32 %271, 1
  store i32 %272, ptr %270, align 8, !tbaa !9
  %273 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 9
  store i32 54, ptr %273, align 8, !tbaa !34
  store i32 54, ptr %2, align 4
  store i32 1, ptr %5, align 4
  br label %1554

274:                                              ; preds = %177, %177
  call void @llvm.lifetime.start.p0(i64 32, ptr %13) #5
  call void @_ZN2ts7Scanner10scanStringB5cxx11Eb(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %13, ptr noundef nonnull align 8 dereferenceable(176) %104, i1 noundef zeroext false)
  %275 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 10
  %276 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEaSEOS4_(ptr noundef nonnull align 8 dereferenceable(32) %275, ptr noundef nonnull align 8 dereferenceable(32) %13) #5
  call void @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %13) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %13) #5
  %277 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 9
  store i32 11, ptr %277, align 8, !tbaa !34
  store i32 11, ptr %2, align 4
  store i32 1, ptr %5, align 4
  br label %1554

278:                                              ; preds = %177
  %279 = call noundef i32 @_ZN2ts7Scanner28scanTemplateAndSetTokenValueEb(ptr noundef nonnull align 8 dereferenceable(176) %104, i1 noundef zeroext false)
  %280 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 9
  store i32 %279, ptr %280, align 8, !tbaa !34
  store i32 %279, ptr %2, align 4
  store i32 1, ptr %5, align 4
  br label %1554

281:                                              ; preds = %177
  %282 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 4
  %283 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %284 = load i32, ptr %283, align 8, !tbaa !9
  %285 = add nsw i32 %284, 1
  %286 = call noundef i32 @_ZN2ts11safe_stringixEi(ptr noundef nonnull align 8 dereferenceable(32) %282, i32 noundef %285)
  %287 = icmp eq i32 %286, 61
  br i1 %287, label %288, label %293

288:                                              ; preds = %281
  %289 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %290 = load i32, ptr %289, align 8, !tbaa !9
  %291 = add nsw i32 %290, 2
  store i32 %291, ptr %289, align 8, !tbaa !9
  %292 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 9
  store i32 70, ptr %292, align 8, !tbaa !34
  store i32 70, ptr %2, align 4
  store i32 1, ptr %5, align 4
  br label %1554

293:                                              ; preds = %281
  %294 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %295 = load i32, ptr %294, align 8, !tbaa !9
  %296 = add nsw i32 %295, 1
  store i32 %296, ptr %294, align 8, !tbaa !9
  %297 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 9
  store i32 45, ptr %297, align 8, !tbaa !34
  store i32 45, ptr %2, align 4
  store i32 1, ptr %5, align 4
  br label %1554

298:                                              ; preds = %177
  %299 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 4
  %300 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %301 = load i32, ptr %300, align 8, !tbaa !9
  %302 = add nsw i32 %301, 1
  %303 = call noundef i32 @_ZN2ts11safe_stringixEi(ptr noundef nonnull align 8 dereferenceable(32) %299, i32 noundef %302)
  %304 = icmp eq i32 %303, 38
  br i1 %304, label %305, label %322

305:                                              ; preds = %298
  %306 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 4
  %307 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %308 = load i32, ptr %307, align 8, !tbaa !9
  %309 = add nsw i32 %308, 2
  %310 = call noundef i32 @_ZN2ts11safe_stringixEi(ptr noundef nonnull align 8 dereferenceable(32) %306, i32 noundef %309)
  %311 = icmp eq i32 %310, 61
  br i1 %311, label %312, label %317

312:                                              ; preds = %305
  %313 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %314 = load i32, ptr %313, align 8, !tbaa !9
  %315 = add nsw i32 %314, 3
  store i32 %315, ptr %313, align 8, !tbaa !9
  %316 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 9
  store i32 77, ptr %316, align 8, !tbaa !34
  store i32 77, ptr %2, align 4
  store i32 1, ptr %5, align 4
  br label %1554

317:                                              ; preds = %305
  %318 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %319 = load i32, ptr %318, align 8, !tbaa !9
  %320 = add nsw i32 %319, 2
  store i32 %320, ptr %318, align 8, !tbaa !9
  %321 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 9
  store i32 56, ptr %321, align 8, !tbaa !34
  store i32 56, ptr %2, align 4
  store i32 1, ptr %5, align 4
  br label %1554

322:                                              ; preds = %298
  %323 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 4
  %324 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %325 = load i32, ptr %324, align 8, !tbaa !9
  %326 = add nsw i32 %325, 1
  %327 = call noundef i32 @_ZN2ts11safe_stringixEi(ptr noundef nonnull align 8 dereferenceable(32) %323, i32 noundef %326)
  %328 = icmp eq i32 %327, 61
  br i1 %328, label %329, label %334

329:                                              ; preds = %322
  %330 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %331 = load i32, ptr %330, align 8, !tbaa !9
  %332 = add nsw i32 %331, 2
  store i32 %332, ptr %330, align 8, !tbaa !9
  %333 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 9
  store i32 74, ptr %333, align 8, !tbaa !34
  store i32 74, ptr %2, align 4
  store i32 1, ptr %5, align 4
  br label %1554

334:                                              ; preds = %322
  %335 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %336 = load i32, ptr %335, align 8, !tbaa !9
  %337 = add nsw i32 %336, 1
  store i32 %337, ptr %335, align 8, !tbaa !9
  %338 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 9
  store i32 51, ptr %338, align 8, !tbaa !34
  store i32 51, ptr %2, align 4
  store i32 1, ptr %5, align 4
  br label %1554

339:                                              ; preds = %177
  %340 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %341 = load i32, ptr %340, align 8, !tbaa !9
  %342 = add nsw i32 %341, 1
  store i32 %342, ptr %340, align 8, !tbaa !9
  %343 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 9
  store i32 21, ptr %343, align 8, !tbaa !34
  store i32 21, ptr %2, align 4
  store i32 1, ptr %5, align 4
  br label %1554

344:                                              ; preds = %177
  %345 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %346 = load i32, ptr %345, align 8, !tbaa !9
  %347 = add nsw i32 %346, 1
  store i32 %347, ptr %345, align 8, !tbaa !9
  %348 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 9
  store i32 22, ptr %348, align 8, !tbaa !34
  store i32 22, ptr %2, align 4
  store i32 1, ptr %5, align 4
  br label %1554

349:                                              ; preds = %177
  %350 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 4
  %351 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %352 = load i32, ptr %351, align 8, !tbaa !9
  %353 = add nsw i32 %352, 1
  %354 = call noundef i32 @_ZN2ts11safe_stringixEi(ptr noundef nonnull align 8 dereferenceable(32) %350, i32 noundef %353)
  %355 = icmp eq i32 %354, 61
  br i1 %355, label %356, label %361

356:                                              ; preds = %349
  %357 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %358 = load i32, ptr %357, align 8, !tbaa !9
  %359 = add nsw i32 %358, 2
  store i32 %359, ptr %357, align 8, !tbaa !9
  %360 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 9
  store i32 67, ptr %360, align 8, !tbaa !34
  store i32 67, ptr %2, align 4
  store i32 1, ptr %5, align 4
  br label %1554

361:                                              ; preds = %349
  %362 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 4
  %363 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %364 = load i32, ptr %363, align 8, !tbaa !9
  %365 = add nsw i32 %364, 1
  %366 = call noundef i32 @_ZN2ts11safe_stringixEi(ptr noundef nonnull align 8 dereferenceable(32) %362, i32 noundef %365)
  %367 = icmp eq i32 %366, 42
  br i1 %367, label %368, label %385

368:                                              ; preds = %361
  %369 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 4
  %370 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %371 = load i32, ptr %370, align 8, !tbaa !9
  %372 = add nsw i32 %371, 2
  %373 = call noundef i32 @_ZN2ts11safe_stringixEi(ptr noundef nonnull align 8 dereferenceable(32) %369, i32 noundef %372)
  %374 = icmp eq i32 %373, 61
  br i1 %374, label %375, label %380

375:                                              ; preds = %368
  %376 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %377 = load i32, ptr %376, align 8, !tbaa !9
  %378 = add nsw i32 %377, 3
  store i32 %378, ptr %376, align 8, !tbaa !9
  %379 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 9
  store i32 68, ptr %379, align 8, !tbaa !34
  store i32 68, ptr %2, align 4
  store i32 1, ptr %5, align 4
  br label %1554

380:                                              ; preds = %368
  %381 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %382 = load i32, ptr %381, align 8, !tbaa !9
  %383 = add nsw i32 %382, 2
  store i32 %383, ptr %381, align 8, !tbaa !9
  %384 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 9
  store i32 43, ptr %384, align 8, !tbaa !34
  store i32 43, ptr %2, align 4
  store i32 1, ptr %5, align 4
  br label %1554

385:                                              ; preds = %361
  %386 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %387 = load i32, ptr %386, align 8, !tbaa !9
  %388 = add nsw i32 %387, 1
  store i32 %388, ptr %386, align 8, !tbaa !9
  %389 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 13
  %390 = load i32, ptr %389, align 8, !tbaa !43
  %391 = icmp ne i32 %390, 0
  br i1 %391, label %392, label %401

392:                                              ; preds = %385
  %393 = load i8, ptr %4, align 1, !tbaa !31, !range !38, !noundef !39
  %394 = trunc i8 %393 to i1
  br i1 %394, label %401, label %395

395:                                              ; preds = %392
  %396 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 11
  %397 = load i32, ptr %396, align 8, !tbaa !30
  %398 = call noundef i32 @_ZN2tsanENS_10TokenFlagsES0_(i32 noundef %397, i32 noundef 1)
  %399 = call noundef zeroext i1 @_ZN2tsntENS_10TokenFlagsE(i32 noundef %398)
  br i1 %399, label %401, label %400

400:                                              ; preds = %395
  store i8 1, ptr %4, align 1, !tbaa !31
  store i32 2, ptr %5, align 4
  br label %1554, !llvm.loop !40

401:                                              ; preds = %395, %392, %385
  %402 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 9
  store i32 42, ptr %402, align 8, !tbaa !34
  store i32 42, ptr %2, align 4
  store i32 1, ptr %5, align 4
  br label %1554

403:                                              ; preds = %177
  %404 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 4
  %405 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %406 = load i32, ptr %405, align 8, !tbaa !9
  %407 = add nsw i32 %406, 1
  %408 = call noundef i32 @_ZN2ts11safe_stringixEi(ptr noundef nonnull align 8 dereferenceable(32) %404, i32 noundef %407)
  %409 = icmp eq i32 %408, 43
  br i1 %409, label %410, label %415

410:                                              ; preds = %403
  %411 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %412 = load i32, ptr %411, align 8, !tbaa !9
  %413 = add nsw i32 %412, 2
  store i32 %413, ptr %411, align 8, !tbaa !9
  %414 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 9
  store i32 46, ptr %414, align 8, !tbaa !34
  store i32 46, ptr %2, align 4
  store i32 1, ptr %5, align 4
  br label %1554

415:                                              ; preds = %403
  %416 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 4
  %417 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %418 = load i32, ptr %417, align 8, !tbaa !9
  %419 = add nsw i32 %418, 1
  %420 = call noundef i32 @_ZN2ts11safe_stringixEi(ptr noundef nonnull align 8 dereferenceable(32) %416, i32 noundef %419)
  %421 = icmp eq i32 %420, 61
  br i1 %421, label %422, label %427

422:                                              ; preds = %415
  %423 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %424 = load i32, ptr %423, align 8, !tbaa !9
  %425 = add nsw i32 %424, 2
  store i32 %425, ptr %423, align 8, !tbaa !9
  %426 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 9
  store i32 65, ptr %426, align 8, !tbaa !34
  store i32 65, ptr %2, align 4
  store i32 1, ptr %5, align 4
  br label %1554

427:                                              ; preds = %415
  %428 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %429 = load i32, ptr %428, align 8, !tbaa !9
  %430 = add nsw i32 %429, 1
  store i32 %430, ptr %428, align 8, !tbaa !9
  %431 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 9
  store i32 40, ptr %431, align 8, !tbaa !34
  store i32 40, ptr %2, align 4
  store i32 1, ptr %5, align 4
  br label %1554

432:                                              ; preds = %177
  %433 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %434 = load i32, ptr %433, align 8, !tbaa !9
  %435 = add nsw i32 %434, 1
  store i32 %435, ptr %433, align 8, !tbaa !9
  %436 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 9
  store i32 28, ptr %436, align 8, !tbaa !34
  store i32 28, ptr %2, align 4
  store i32 1, ptr %5, align 4
  br label %1554

437:                                              ; preds = %177
  %438 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 4
  %439 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %440 = load i32, ptr %439, align 8, !tbaa !9
  %441 = add nsw i32 %440, 1
  %442 = call noundef i32 @_ZN2ts11safe_stringixEi(ptr noundef nonnull align 8 dereferenceable(32) %438, i32 noundef %441)
  %443 = icmp eq i32 %442, 45
  br i1 %443, label %444, label %449

444:                                              ; preds = %437
  %445 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %446 = load i32, ptr %445, align 8, !tbaa !9
  %447 = add nsw i32 %446, 2
  store i32 %447, ptr %445, align 8, !tbaa !9
  %448 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 9
  store i32 47, ptr %448, align 8, !tbaa !34
  store i32 47, ptr %2, align 4
  store i32 1, ptr %5, align 4
  br label %1554

449:                                              ; preds = %437
  %450 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 4
  %451 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %452 = load i32, ptr %451, align 8, !tbaa !9
  %453 = add nsw i32 %452, 1
  %454 = call noundef i32 @_ZN2ts11safe_stringixEi(ptr noundef nonnull align 8 dereferenceable(32) %450, i32 noundef %453)
  %455 = icmp eq i32 %454, 61
  br i1 %455, label %456, label %461

456:                                              ; preds = %449
  %457 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %458 = load i32, ptr %457, align 8, !tbaa !9
  %459 = add nsw i32 %458, 2
  store i32 %459, ptr %457, align 8, !tbaa !9
  %460 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 9
  store i32 66, ptr %460, align 8, !tbaa !34
  store i32 66, ptr %2, align 4
  store i32 1, ptr %5, align 4
  br label %1554

461:                                              ; preds = %449
  %462 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %463 = load i32, ptr %462, align 8, !tbaa !9
  %464 = add nsw i32 %463, 1
  store i32 %464, ptr %462, align 8, !tbaa !9
  %465 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 9
  store i32 41, ptr %465, align 8, !tbaa !34
  store i32 41, ptr %2, align 4
  store i32 1, ptr %5, align 4
  br label %1554

466:                                              ; preds = %177
  %467 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 4
  %468 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %469 = load i32, ptr %468, align 8, !tbaa !9
  %470 = add nsw i32 %469, 1
  %471 = call noundef i32 @_ZN2ts11safe_stringixEi(ptr noundef nonnull align 8 dereferenceable(32) %467, i32 noundef %470)
  %472 = call noundef zeroext i1 @_ZN2ts7Scanner7isDigitE14CharacterCodes(ptr noundef nonnull align 8 dereferenceable(176) %104, i32 noundef %471)
  br i1 %472, label %473, label %476

473:                                              ; preds = %466
  %474 = call noundef i32 @_ZN2ts7Scanner10scanNumberEv(ptr noundef nonnull align 8 dereferenceable(176) %104)
  %475 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 9
  store i32 9, ptr %475, align 8, !tbaa !34
  store i32 9, ptr %2, align 4
  store i32 1, ptr %5, align 4
  br label %1554

476:                                              ; preds = %466
  %477 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 4
  %478 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %479 = load i32, ptr %478, align 8, !tbaa !9
  %480 = add nsw i32 %479, 1
  %481 = call noundef i32 @_ZN2ts11safe_stringixEi(ptr noundef nonnull align 8 dereferenceable(32) %477, i32 noundef %480)
  %482 = icmp eq i32 %481, 46
  br i1 %482, label %483, label %495

483:                                              ; preds = %476
  %484 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 4
  %485 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %486 = load i32, ptr %485, align 8, !tbaa !9
  %487 = add nsw i32 %486, 2
  %488 = call noundef i32 @_ZN2ts11safe_stringixEi(ptr noundef nonnull align 8 dereferenceable(32) %484, i32 noundef %487)
  %489 = icmp eq i32 %488, 46
  br i1 %489, label %490, label %495

490:                                              ; preds = %483
  %491 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %492 = load i32, ptr %491, align 8, !tbaa !9
  %493 = add nsw i32 %492, 3
  store i32 %493, ptr %491, align 8, !tbaa !9
  %494 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 9
  store i32 26, ptr %494, align 8, !tbaa !34
  store i32 26, ptr %2, align 4
  store i32 1, ptr %5, align 4
  br label %1554

495:                                              ; preds = %483, %476
  %496 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %497 = load i32, ptr %496, align 8, !tbaa !9
  %498 = add nsw i32 %497, 1
  store i32 %498, ptr %496, align 8, !tbaa !9
  %499 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 9
  store i32 25, ptr %499, align 8, !tbaa !34
  store i32 25, ptr %2, align 4
  store i32 1, ptr %5, align 4
  br label %1554

500:                                              ; preds = %177
  %501 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 4
  %502 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %503 = load i32, ptr %502, align 8, !tbaa !9
  %504 = add nsw i32 %503, 1
  %505 = call noundef i32 @_ZN2ts11safe_stringixEi(ptr noundef nonnull align 8 dereferenceable(32) %501, i32 noundef %504)
  %506 = icmp eq i32 %505, 47
  br i1 %506, label %507, label %558

507:                                              ; preds = %500
  %508 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %509 = load i32, ptr %508, align 8, !tbaa !9
  %510 = add nsw i32 %509, 2
  store i32 %510, ptr %508, align 8, !tbaa !9
  br label %511

511:                                              ; preds = %524, %507
  %512 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %513 = load i32, ptr %512, align 8, !tbaa !9
  %514 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 6
  %515 = load i32, ptr %514, align 4, !tbaa !33
  %516 = icmp slt i32 %513, %515
  br i1 %516, label %517, label %528

517:                                              ; preds = %511
  %518 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 4
  %519 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %520 = load i32, ptr %519, align 8, !tbaa !9
  %521 = call noundef i32 @_ZN2ts11safe_stringixEi(ptr noundef nonnull align 8 dereferenceable(32) %518, i32 noundef %520)
  %522 = call noundef zeroext i1 @_ZN2ts7Scanner11isLineBreakE14CharacterCodes(ptr noundef nonnull align 8 dereferenceable(176) %104, i32 noundef %521)
  br i1 %522, label %523, label %524

523:                                              ; preds = %517
  br label %528

524:                                              ; preds = %517
  %525 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %526 = load i32, ptr %525, align 8, !tbaa !9
  %527 = add nsw i32 %526, 1
  store i32 %527, ptr %525, align 8, !tbaa !9
  br label %511, !llvm.loop !44

528:                                              ; preds = %523, %511
  call void @llvm.lifetime.start.p0(i64 24, ptr %14) #5
  %529 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 12
  call void @_ZNSt6vectorI3ptrIN2ts4data16CommentDirectiveEESaIS4_EEC2ERKS6_(ptr noundef nonnull align 8 dereferenceable(24) %15, ptr noundef nonnull align 8 dereferenceable(24) %529)
  %530 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 4
  %531 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 8
  %532 = load i32, ptr %531, align 4, !tbaa !32
  %533 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %534 = load i32, ptr %533, align 8, !tbaa !9
  invoke void @_ZN2ts11safe_string9substringB5cxx11Eii(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %16, ptr noundef nonnull align 8 dereferenceable(32) %530, i32 noundef %532, i32 noundef %534)
          to label %535 unwind label %547

535:                                              ; preds = %528
  call void @_ZNSt7__cxx1111basic_regexIwNS_12regex_traitsIwEEEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(32) %17, ptr noundef nonnull align 8 dereferenceable(32) @_ZN2ts7Scanner31commentDirectiveRegExSingleLineB5cxx11E) #5
  %536 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 8
  %537 = load i32, ptr %536, align 4, !tbaa !32
  invoke void @_ZN2ts8pos_typeC2Ei(ptr noundef nonnull align 4 dereferenceable(8) %18, i32 noundef %537)
          to label %538 unwind label %551

538:                                              ; preds = %535
  %539 = load i64, ptr %18, align 4
  invoke void @_ZN2ts7Scanner24appendIfCommentDirectiveESt6vectorI3ptrINS_4data16CommentDirectiveEESaIS5_EENSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEENS8_11basic_regexIwNS8_12regex_traitsIwEEEENS_8pos_typeE(ptr dead_on_unwind writable sret(%"class.std::vector.41") align 8 %14, ptr noundef nonnull align 8 dereferenceable(176) %104, ptr noundef %15, ptr noundef %16, ptr noundef %17, i64 %539)
          to label %540 unwind label %551

540:                                              ; preds = %538
  %541 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 12
  %542 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorI3ptrIN2ts4data16CommentDirectiveEESaIS4_EEaSEOS6_(ptr noundef nonnull align 8 dereferenceable(24) %541, ptr noundef nonnull align 8 dereferenceable(24) %14) #5
  call void @_ZNSt6vectorI3ptrIN2ts4data16CommentDirectiveEESaIS4_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %14) #5
  call void @_ZNSt7__cxx1111basic_regexIwNS_12regex_traitsIwEEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #5
  call void @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %16) #5
  call void @_ZNSt6vectorI3ptrIN2ts4data16CommentDirectiveEESaIS4_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %15) #5
  call void @llvm.lifetime.end.p0(i64 24, ptr %14) #5
  %543 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 2
  %544 = load i8, ptr %543, align 8, !tbaa !37, !range !38, !noundef !39
  %545 = trunc i8 %544 to i1
  br i1 %545, label %546, label %556

546:                                              ; preds = %540
  store i32 2, ptr %5, align 4
  br label %1554, !llvm.loop !40

547:                                              ; preds = %528
  %548 = landingpad { ptr, i32 }
          cleanup
  %549 = extractvalue { ptr, i32 } %548, 0
  store ptr %549, ptr %9, align 8
  %550 = extractvalue { ptr, i32 } %548, 1
  store i32 %550, ptr %10, align 4
  br label %555

551:                                              ; preds = %538, %535
  %552 = landingpad { ptr, i32 }
          cleanup
  %553 = extractvalue { ptr, i32 } %552, 0
  store ptr %553, ptr %9, align 8
  %554 = extractvalue { ptr, i32 } %552, 1
  store i32 %554, ptr %10, align 4
  call void @_ZNSt7__cxx1111basic_regexIwNS_12regex_traitsIwEEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %17) #5
  call void @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %16) #5
  br label %555

555:                                              ; preds = %551, %547
  call void @_ZNSt6vectorI3ptrIN2ts4data16CommentDirectiveEESaIS4_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %15) #5
  call void @llvm.lifetime.end.p0(i64 24, ptr %14) #5
  br label %1556

556:                                              ; preds = %540
  %557 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 9
  store i32 2, ptr %557, align 8, !tbaa !34
  store i32 2, ptr %2, align 4
  store i32 1, ptr %5, align 4
  br label %1554

558:                                              ; preds = %500
  %559 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 4
  %560 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %561 = load i32, ptr %560, align 8, !tbaa !9
  %562 = add nsw i32 %561, 1
  %563 = call noundef i32 @_ZN2ts11safe_stringixEi(ptr noundef nonnull align 8 dereferenceable(32) %559, i32 noundef %562)
  %564 = icmp eq i32 %563, 42
  br i1 %564, label %565, label %690

565:                                              ; preds = %558
  %566 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %567 = load i32, ptr %566, align 8, !tbaa !9
  %568 = add nsw i32 %567, 2
  store i32 %568, ptr %566, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %19) #5
  %569 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 4
  %570 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %571 = load i32, ptr %570, align 8, !tbaa !9
  %572 = call noundef i32 @_ZN2ts11safe_stringixEi(ptr noundef nonnull align 8 dereferenceable(32) %569, i32 noundef %571)
  %573 = icmp eq i32 %572, 42
  br i1 %573, label %574, label %581

574:                                              ; preds = %565
  %575 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 4
  %576 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %577 = load i32, ptr %576, align 8, !tbaa !9
  %578 = add nsw i32 %577, 1
  %579 = call noundef i32 @_ZN2ts11safe_stringixEi(ptr noundef nonnull align 8 dereferenceable(32) %575, i32 noundef %578)
  %580 = icmp ne i32 %579, 47
  br label %581

581:                                              ; preds = %574, %565
  %582 = phi i1 [ false, %565 ], [ %580, %574 ]
  %583 = zext i1 %582 to i8
  store i8 %583, ptr %19, align 1, !tbaa !31
  call void @llvm.lifetime.start.p0(i64 1, ptr %20) #5
  store i8 0, ptr %20, align 1, !tbaa !31
  call void @llvm.lifetime.start.p0(i64 4, ptr %21) #5
  %584 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 8
  %585 = load i32, ptr %584, align 4, !tbaa !32
  store i32 %585, ptr %21, align 4, !tbaa !45
  br label %586

586:                                              ; preds = %624, %581
  %587 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %588 = load i32, ptr %587, align 8, !tbaa !9
  %589 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 6
  %590 = load i32, ptr %589, align 4, !tbaa !33
  %591 = icmp slt i32 %588, %590
  br i1 %591, label %592, label %625

592:                                              ; preds = %586
  call void @llvm.lifetime.start.p0(i64 4, ptr %22) #5
  %593 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 4
  %594 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %595 = load i32, ptr %594, align 8, !tbaa !9
  %596 = call noundef i32 @_ZN2ts11safe_stringixEi(ptr noundef nonnull align 8 dereferenceable(32) %593, i32 noundef %595)
  store i32 %596, ptr %22, align 4, !tbaa !35
  %597 = load i32, ptr %22, align 4, !tbaa !35
  %598 = icmp eq i32 %597, 42
  br i1 %598, label %599, label %610

599:                                              ; preds = %592
  %600 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 4
  %601 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %602 = load i32, ptr %601, align 8, !tbaa !9
  %603 = add nsw i32 %602, 1
  %604 = call noundef i32 @_ZN2ts11safe_stringixEi(ptr noundef nonnull align 8 dereferenceable(32) %600, i32 noundef %603)
  %605 = icmp eq i32 %604, 47
  br i1 %605, label %606, label %610

606:                                              ; preds = %599
  %607 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %608 = load i32, ptr %607, align 8, !tbaa !9
  %609 = add nsw i32 %608, 2
  store i32 %609, ptr %607, align 8, !tbaa !9
  store i8 1, ptr %20, align 1, !tbaa !31
  store i32 10, ptr %5, align 4
  br label %622

610:                                              ; preds = %599, %592
  %611 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %612 = load i32, ptr %611, align 8, !tbaa !9
  %613 = add nsw i32 %612, 1
  store i32 %613, ptr %611, align 8, !tbaa !9
  %614 = load i32, ptr %22, align 4, !tbaa !35
  %615 = call noundef zeroext i1 @_ZN2ts7Scanner11isLineBreakE14CharacterCodes(ptr noundef nonnull align 8 dereferenceable(176) %104, i32 noundef %614)
  br i1 %615, label %616, label %621

616:                                              ; preds = %610
  %617 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %618 = load i32, ptr %617, align 8, !tbaa !9
  store i32 %618, ptr %21, align 4, !tbaa !45
  %619 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 11
  %620 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN2tsoRERNS_10TokenFlagsES0_(ptr noundef nonnull align 4 dereferenceable(4) %619, i32 noundef 1)
  br label %621

621:                                              ; preds = %616, %610
  store i32 0, ptr %5, align 4
  br label %622

622:                                              ; preds = %621, %606
  call void @llvm.lifetime.end.p0(i64 4, ptr %22) #5
  %623 = load i32, ptr %5, align 4
  switch i32 %623, label %1564 [
    i32 0, label %624
    i32 10, label %625
  ]

624:                                              ; preds = %622
  br label %586, !llvm.loop !46

625:                                              ; preds = %622, %586
  %626 = load i8, ptr %19, align 1, !tbaa !31, !range !38, !noundef !39
  %627 = trunc i8 %626 to i1
  br i1 %627, label %628, label %633

628:                                              ; preds = %625
  %629 = call noundef zeroext i1 @_ZN2ts7Scanner16shouldParseJSDocEv(ptr noundef nonnull align 8 dereferenceable(176) %104)
  br i1 %629, label %630, label %633

630:                                              ; preds = %628
  %631 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 11
  %632 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN2tsoRERNS_10TokenFlagsES0_(ptr noundef nonnull align 4 dereferenceable(4) %631, i32 noundef 2)
  br label %633

633:                                              ; preds = %630, %628, %625
  call void @llvm.lifetime.start.p0(i64 24, ptr %23) #5
  %634 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 12
  call void @_ZNSt6vectorI3ptrIN2ts4data16CommentDirectiveEESaIS4_EEC2ERKS6_(ptr noundef nonnull align 8 dereferenceable(24) %24, ptr noundef nonnull align 8 dereferenceable(24) %634)
  %635 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 4
  %636 = load i32, ptr %21, align 4, !tbaa !45
  %637 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %638 = load i32, ptr %637, align 8, !tbaa !9
  invoke void @_ZN2ts11safe_string9substringB5cxx11Eii(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %25, ptr noundef nonnull align 8 dereferenceable(32) %635, i32 noundef %636, i32 noundef %638)
          to label %639 unwind label %652

639:                                              ; preds = %633
  call void @_ZNSt7__cxx1111basic_regexIwNS_12regex_traitsIwEEEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(32) %26, ptr noundef nonnull align 8 dereferenceable(32) @_ZN2ts7Scanner30commentDirectiveRegExMultiLineB5cxx11E) #5
  %640 = load i32, ptr %21, align 4, !tbaa !45
  invoke void @_ZN2ts8pos_typeC2Ei(ptr noundef nonnull align 4 dereferenceable(8) %27, i32 noundef %640)
          to label %641 unwind label %656

641:                                              ; preds = %639
  %642 = load i64, ptr %27, align 4
  invoke void @_ZN2ts7Scanner24appendIfCommentDirectiveESt6vectorI3ptrINS_4data16CommentDirectiveEESaIS5_EENSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEENS8_11basic_regexIwNS8_12regex_traitsIwEEEENS_8pos_typeE(ptr dead_on_unwind writable sret(%"class.std::vector.41") align 8 %23, ptr noundef nonnull align 8 dereferenceable(176) %104, ptr noundef %24, ptr noundef %25, ptr noundef %26, i64 %642)
          to label %643 unwind label %656

643:                                              ; preds = %641
  %644 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 12
  %645 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorI3ptrIN2ts4data16CommentDirectiveEESaIS4_EEaSEOS6_(ptr noundef nonnull align 8 dereferenceable(24) %644, ptr noundef nonnull align 8 dereferenceable(24) %23) #5
  call void @_ZNSt6vectorI3ptrIN2ts4data16CommentDirectiveEESaIS4_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %23) #5
  call void @_ZNSt7__cxx1111basic_regexIwNS_12regex_traitsIwEEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #5
  call void @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #5
  call void @_ZNSt6vectorI3ptrIN2ts4data16CommentDirectiveEESaIS4_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %24) #5
  call void @llvm.lifetime.end.p0(i64 24, ptr %23) #5
  %646 = load i8, ptr %20, align 1, !tbaa !31, !range !38, !noundef !39
  %647 = trunc i8 %646 to i1
  br i1 %647, label %675, label %648

648:                                              ; preds = %643
  call void @llvm.lifetime.start.p0(i64 128, ptr %29) #5
  call void @_ZN2ts4data17DiagnosticMessageC2ERNS_22DiagnosticMessageStoreE(ptr noundef nonnull align 8 dereferenceable(121) %29, ptr noundef nonnull align 8 dereferenceable(72) @_ZN2ts11DiagnosticsL23Asterisk_Slash_expectedE)
  invoke void @_ZN3ptrIN2ts4data17DiagnosticMessageEEC2ERKS2_(ptr noundef nonnull align 8 dereferenceable(16) %28, ptr noundef nonnull align 8 dereferenceable(121) %29)
          to label %649 unwind label %661

649:                                              ; preds = %648
  call void @llvm.lifetime.start.p0(i64 1, ptr %31) #5
  call void @_ZNSaIwEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %31) #5
  invoke void @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2IS3_EEPKwRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %30, ptr noundef @.str.6452, ptr noundef nonnull align 1 dereferenceable(1) %31)
          to label %650 unwind label %665

650:                                              ; preds = %649
  invoke void @_ZN2ts7Scanner5errorE3ptrINS_4data17DiagnosticMessageEEiiNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEE(ptr noundef nonnull align 8 dereferenceable(176) %104, ptr noundef %28, i32 noundef -1, i32 noundef 0, ptr noundef %30)
          to label %651 unwind label %669

651:                                              ; preds = %650
  call void @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #5
  call void @_ZNSt15__new_allocatorIwED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %31) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %31) #5
  call void @_ZN3ptrIN2ts4data17DiagnosticMessageEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %28) #5
  call void @_ZN2ts4data17DiagnosticMessageD2Ev(ptr noundef nonnull align 8 dereferenceable(121) %29) #5
  call void @llvm.lifetime.end.p0(i64 128, ptr %29) #5
  br label %675

652:                                              ; preds = %633
  %653 = landingpad { ptr, i32 }
          cleanup
  %654 = extractvalue { ptr, i32 } %653, 0
  store ptr %654, ptr %9, align 8
  %655 = extractvalue { ptr, i32 } %653, 1
  store i32 %655, ptr %10, align 4
  br label %660

656:                                              ; preds = %641, %639
  %657 = landingpad { ptr, i32 }
          cleanup
  %658 = extractvalue { ptr, i32 } %657, 0
  store ptr %658, ptr %9, align 8
  %659 = extractvalue { ptr, i32 } %657, 1
  store i32 %659, ptr %10, align 4
  call void @_ZNSt7__cxx1111basic_regexIwNS_12regex_traitsIwEEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #5
  call void @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %25) #5
  br label %660

660:                                              ; preds = %656, %652
  call void @_ZNSt6vectorI3ptrIN2ts4data16CommentDirectiveEESaIS4_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %24) #5
  call void @llvm.lifetime.end.p0(i64 24, ptr %23) #5
  br label %689

661:                                              ; preds = %648
  %662 = landingpad { ptr, i32 }
          cleanup
  %663 = extractvalue { ptr, i32 } %662, 0
  store ptr %663, ptr %9, align 8
  %664 = extractvalue { ptr, i32 } %662, 1
  store i32 %664, ptr %10, align 4
  br label %674

665:                                              ; preds = %649
  %666 = landingpad { ptr, i32 }
          cleanup
  %667 = extractvalue { ptr, i32 } %666, 0
  store ptr %667, ptr %9, align 8
  %668 = extractvalue { ptr, i32 } %666, 1
  store i32 %668, ptr %10, align 4
  br label %673

669:                                              ; preds = %650
  %670 = landingpad { ptr, i32 }
          cleanup
  %671 = extractvalue { ptr, i32 } %670, 0
  store ptr %671, ptr %9, align 8
  %672 = extractvalue { ptr, i32 } %670, 1
  store i32 %672, ptr %10, align 4
  call void @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #5
  br label %673

673:                                              ; preds = %669, %665
  call void @_ZNSt15__new_allocatorIwED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %31) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %31) #5
  call void @_ZN3ptrIN2ts4data17DiagnosticMessageEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %28) #5
  br label %674

674:                                              ; preds = %673, %661
  call void @_ZN2ts4data17DiagnosticMessageD2Ev(ptr noundef nonnull align 8 dereferenceable(121) %29) #5
  call void @llvm.lifetime.end.p0(i64 128, ptr %29) #5
  br label %689

675:                                              ; preds = %651, %643
  %676 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 2
  %677 = load i8, ptr %676, align 8, !tbaa !37, !range !38, !noundef !39
  %678 = trunc i8 %677 to i1
  br i1 %678, label %679, label %680

679:                                              ; preds = %675
  store i32 2, ptr %5, align 4
  br label %688, !llvm.loop !40

680:                                              ; preds = %675
  %681 = load i8, ptr %20, align 1, !tbaa !31, !range !38, !noundef !39
  %682 = trunc i8 %681 to i1
  br i1 %682, label %686, label %683

683:                                              ; preds = %680
  %684 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 11
  %685 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN2tsoRERNS_10TokenFlagsES0_(ptr noundef nonnull align 4 dereferenceable(4) %684, i32 noundef 4)
  br label %686

686:                                              ; preds = %683, %680
  %687 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 9
  store i32 3, ptr %687, align 8, !tbaa !34
  store i32 3, ptr %2, align 4
  store i32 1, ptr %5, align 4
  br label %688

688:                                              ; preds = %686, %679
  call void @llvm.lifetime.end.p0(i64 4, ptr %21) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %20) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %19) #5
  br label %1554

689:                                              ; preds = %674, %660
  call void @llvm.lifetime.end.p0(i64 4, ptr %21) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %20) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %19) #5
  br label %1556

690:                                              ; preds = %558
  %691 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 4
  %692 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %693 = load i32, ptr %692, align 8, !tbaa !9
  %694 = add nsw i32 %693, 1
  %695 = call noundef i32 @_ZN2ts11safe_stringixEi(ptr noundef nonnull align 8 dereferenceable(32) %691, i32 noundef %694)
  %696 = icmp eq i32 %695, 61
  br i1 %696, label %697, label %702

697:                                              ; preds = %690
  %698 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %699 = load i32, ptr %698, align 8, !tbaa !9
  %700 = add nsw i32 %699, 2
  store i32 %700, ptr %698, align 8, !tbaa !9
  %701 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 9
  store i32 69, ptr %701, align 8, !tbaa !34
  store i32 69, ptr %2, align 4
  store i32 1, ptr %5, align 4
  br label %1554

702:                                              ; preds = %690
  %703 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %704 = load i32, ptr %703, align 8, !tbaa !9
  %705 = add nsw i32 %704, 1
  store i32 %705, ptr %703, align 8, !tbaa !9
  %706 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 9
  store i32 44, ptr %706, align 8, !tbaa !34
  store i32 44, ptr %2, align 4
  store i32 1, ptr %5, align 4
  br label %1554

707:                                              ; preds = %177
  %708 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %709 = load i32, ptr %708, align 8, !tbaa !9
  %710 = add nsw i32 %709, 2
  %711 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 6
  %712 = load i32, ptr %711, align 4, !tbaa !33
  %713 = icmp slt i32 %710, %712
  br i1 %713, label %714, label %764

714:                                              ; preds = %707
  %715 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 4
  %716 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %717 = load i32, ptr %716, align 8, !tbaa !9
  %718 = add nsw i32 %717, 1
  %719 = call noundef i32 @_ZN2ts11safe_stringixEi(ptr noundef nonnull align 8 dereferenceable(32) %715, i32 noundef %718)
  %720 = icmp eq i32 %719, 88
  br i1 %720, label %728, label %721

721:                                              ; preds = %714
  %722 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 4
  %723 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %724 = load i32, ptr %723, align 8, !tbaa !9
  %725 = add nsw i32 %724, 1
  %726 = call noundef i32 @_ZN2ts11safe_stringixEi(ptr noundef nonnull align 8 dereferenceable(32) %722, i32 noundef %725)
  %727 = icmp eq i32 %726, 120
  br i1 %727, label %728, label %764

728:                                              ; preds = %721, %714
  %729 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %730 = load i32, ptr %729, align 8, !tbaa !9
  %731 = add nsw i32 %730, 2
  store i32 %731, ptr %729, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 32, ptr %32) #5
  call void @_ZN2ts7Scanner28scanMinimumNumberOfHexDigitsB5cxx11Eib(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %32, ptr noundef nonnull align 8 dereferenceable(176) %104, i32 noundef 1, i1 noundef zeroext true)
  %732 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 10
  %733 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEaSEOS4_(ptr noundef nonnull align 8 dereferenceable(32) %732, ptr noundef nonnull align 8 dereferenceable(32) %32) #5
  call void @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %32) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %32) #5
  %734 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 10
  %735 = call noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32) %734) #5
  br i1 %735, label %736, label %756

736:                                              ; preds = %728
  call void @llvm.lifetime.start.p0(i64 128, ptr %34) #5
  call void @_ZN2ts4data17DiagnosticMessageC2ERNS_22DiagnosticMessageStoreE(ptr noundef nonnull align 8 dereferenceable(121) %34, ptr noundef nonnull align 8 dereferenceable(72) @_ZN2ts11DiagnosticsL26Hexadecimal_digit_expectedE)
  invoke void @_ZN3ptrIN2ts4data17DiagnosticMessageEEC2ERKS2_(ptr noundef nonnull align 8 dereferenceable(16) %33, ptr noundef nonnull align 8 dereferenceable(121) %34)
          to label %737 unwind label %742

737:                                              ; preds = %736
  call void @llvm.lifetime.start.p0(i64 1, ptr %36) #5
  call void @_ZNSaIwEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %36) #5
  invoke void @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2IS3_EEPKwRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %35, ptr noundef @.str.6452, ptr noundef nonnull align 1 dereferenceable(1) %36)
          to label %738 unwind label %746

738:                                              ; preds = %737
  invoke void @_ZN2ts7Scanner5errorE3ptrINS_4data17DiagnosticMessageEEiiNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEE(ptr noundef nonnull align 8 dereferenceable(176) %104, ptr noundef %33, i32 noundef -1, i32 noundef 0, ptr noundef %35)
          to label %739 unwind label %750

739:                                              ; preds = %738
  call void @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %35) #5
  call void @_ZNSt15__new_allocatorIwED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %36) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %36) #5
  call void @_ZN3ptrIN2ts4data17DiagnosticMessageEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %33) #5
  call void @_ZN2ts4data17DiagnosticMessageD2Ev(ptr noundef nonnull align 8 dereferenceable(121) %34) #5
  call void @llvm.lifetime.end.p0(i64 128, ptr %34) #5
  %740 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 10
  %741 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEaSEPKw(ptr noundef nonnull align 8 dereferenceable(32) %740, ptr noundef @.str.6453)
  br label %756

742:                                              ; preds = %736
  %743 = landingpad { ptr, i32 }
          cleanup
  %744 = extractvalue { ptr, i32 } %743, 0
  store ptr %744, ptr %9, align 8
  %745 = extractvalue { ptr, i32 } %743, 1
  store i32 %745, ptr %10, align 4
  br label %755

746:                                              ; preds = %737
  %747 = landingpad { ptr, i32 }
          cleanup
  %748 = extractvalue { ptr, i32 } %747, 0
  store ptr %748, ptr %9, align 8
  %749 = extractvalue { ptr, i32 } %747, 1
  store i32 %749, ptr %10, align 4
  br label %754

750:                                              ; preds = %738
  %751 = landingpad { ptr, i32 }
          cleanup
  %752 = extractvalue { ptr, i32 } %751, 0
  store ptr %752, ptr %9, align 8
  %753 = extractvalue { ptr, i32 } %751, 1
  store i32 %753, ptr %10, align 4
  call void @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %35) #5
  br label %754

754:                                              ; preds = %750, %746
  call void @_ZNSt15__new_allocatorIwED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %36) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %36) #5
  call void @_ZN3ptrIN2ts4data17DiagnosticMessageEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %33) #5
  br label %755

755:                                              ; preds = %754, %742
  call void @_ZN2ts4data17DiagnosticMessageD2Ev(ptr noundef nonnull align 8 dereferenceable(121) %34) #5
  call void @llvm.lifetime.end.p0(i64 128, ptr %34) #5
  br label %1556

756:                                              ; preds = %739, %728
  call void @llvm.lifetime.start.p0(i64 32, ptr %37) #5
  %757 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 10
  call void @_ZStplIwSt11char_traitsIwESaIwEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %37, ptr noundef @.str.6467, ptr noundef nonnull align 8 dereferenceable(32) %757)
  %758 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 10
  %759 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEaSEOS4_(ptr noundef nonnull align 8 dereferenceable(32) %758, ptr noundef nonnull align 8 dereferenceable(32) %37) #5
  call void @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %37) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %37) #5
  %760 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 11
  %761 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN2tsoRERNS_10TokenFlagsES0_(ptr noundef nonnull align 4 dereferenceable(4) %760, i32 noundef 64)
  %762 = call noundef i32 @_ZN2ts7Scanner17checkBigIntSuffixEv(ptr noundef nonnull align 8 dereferenceable(176) %104)
  %763 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 9
  store i32 %762, ptr %763, align 8, !tbaa !34
  store i32 %762, ptr %2, align 4
  store i32 1, ptr %5, align 4
  br label %1554

764:                                              ; preds = %721, %707
  %765 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %766 = load i32, ptr %765, align 8, !tbaa !9
  %767 = add nsw i32 %766, 2
  %768 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 6
  %769 = load i32, ptr %768, align 4, !tbaa !33
  %770 = icmp slt i32 %767, %769
  br i1 %770, label %771, label %821

771:                                              ; preds = %764
  %772 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 4
  %773 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %774 = load i32, ptr %773, align 8, !tbaa !9
  %775 = add nsw i32 %774, 1
  %776 = call noundef i32 @_ZN2ts11safe_stringixEi(ptr noundef nonnull align 8 dereferenceable(32) %772, i32 noundef %775)
  %777 = icmp eq i32 %776, 66
  br i1 %777, label %785, label %778

778:                                              ; preds = %771
  %779 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 4
  %780 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %781 = load i32, ptr %780, align 8, !tbaa !9
  %782 = add nsw i32 %781, 1
  %783 = call noundef i32 @_ZN2ts11safe_stringixEi(ptr noundef nonnull align 8 dereferenceable(32) %779, i32 noundef %782)
  %784 = icmp eq i32 %783, 98
  br i1 %784, label %785, label %821

785:                                              ; preds = %778, %771
  %786 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %787 = load i32, ptr %786, align 8, !tbaa !9
  %788 = add nsw i32 %787, 2
  store i32 %788, ptr %786, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 32, ptr %38) #5
  call void @_ZN2ts7Scanner23scanBinaryOrOctalDigitsB5cxx11Ei(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %38, ptr noundef nonnull align 8 dereferenceable(176) %104, i32 noundef 2)
  %789 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 10
  %790 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEaSEOS4_(ptr noundef nonnull align 8 dereferenceable(32) %789, ptr noundef nonnull align 8 dereferenceable(32) %38) #5
  call void @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %38) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %38) #5
  %791 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 10
  %792 = call noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32) %791) #5
  br i1 %792, label %793, label %813

793:                                              ; preds = %785
  call void @llvm.lifetime.start.p0(i64 128, ptr %40) #5
  call void @_ZN2ts4data17DiagnosticMessageC2ERNS_22DiagnosticMessageStoreE(ptr noundef nonnull align 8 dereferenceable(121) %40, ptr noundef nonnull align 8 dereferenceable(72) @_ZN2ts11DiagnosticsL21Binary_digit_expectedE)
  invoke void @_ZN3ptrIN2ts4data17DiagnosticMessageEEC2ERKS2_(ptr noundef nonnull align 8 dereferenceable(16) %39, ptr noundef nonnull align 8 dereferenceable(121) %40)
          to label %794 unwind label %799

794:                                              ; preds = %793
  call void @llvm.lifetime.start.p0(i64 1, ptr %42) #5
  call void @_ZNSaIwEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %42) #5
  invoke void @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2IS3_EEPKwRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %41, ptr noundef @.str.6452, ptr noundef nonnull align 1 dereferenceable(1) %42)
          to label %795 unwind label %803

795:                                              ; preds = %794
  invoke void @_ZN2ts7Scanner5errorE3ptrINS_4data17DiagnosticMessageEEiiNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEE(ptr noundef nonnull align 8 dereferenceable(176) %104, ptr noundef %39, i32 noundef -1, i32 noundef 0, ptr noundef %41)
          to label %796 unwind label %807

796:                                              ; preds = %795
  call void @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %41) #5
  call void @_ZNSt15__new_allocatorIwED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %42) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %42) #5
  call void @_ZN3ptrIN2ts4data17DiagnosticMessageEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %39) #5
  call void @_ZN2ts4data17DiagnosticMessageD2Ev(ptr noundef nonnull align 8 dereferenceable(121) %40) #5
  call void @llvm.lifetime.end.p0(i64 128, ptr %40) #5
  %797 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 10
  %798 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEaSEPKw(ptr noundef nonnull align 8 dereferenceable(32) %797, ptr noundef @.str.6453)
  br label %813

799:                                              ; preds = %793
  %800 = landingpad { ptr, i32 }
          cleanup
  %801 = extractvalue { ptr, i32 } %800, 0
  store ptr %801, ptr %9, align 8
  %802 = extractvalue { ptr, i32 } %800, 1
  store i32 %802, ptr %10, align 4
  br label %812

803:                                              ; preds = %794
  %804 = landingpad { ptr, i32 }
          cleanup
  %805 = extractvalue { ptr, i32 } %804, 0
  store ptr %805, ptr %9, align 8
  %806 = extractvalue { ptr, i32 } %804, 1
  store i32 %806, ptr %10, align 4
  br label %811

807:                                              ; preds = %795
  %808 = landingpad { ptr, i32 }
          cleanup
  %809 = extractvalue { ptr, i32 } %808, 0
  store ptr %809, ptr %9, align 8
  %810 = extractvalue { ptr, i32 } %808, 1
  store i32 %810, ptr %10, align 4
  call void @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %41) #5
  br label %811

811:                                              ; preds = %807, %803
  call void @_ZNSt15__new_allocatorIwED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %42) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %42) #5
  call void @_ZN3ptrIN2ts4data17DiagnosticMessageEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %39) #5
  br label %812

812:                                              ; preds = %811, %799
  call void @_ZN2ts4data17DiagnosticMessageD2Ev(ptr noundef nonnull align 8 dereferenceable(121) %40) #5
  call void @llvm.lifetime.end.p0(i64 128, ptr %40) #5
  br label %1556

813:                                              ; preds = %796, %785
  call void @llvm.lifetime.start.p0(i64 32, ptr %43) #5
  %814 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 10
  call void @_ZStplIwSt11char_traitsIwESaIwEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %43, ptr noundef @.str.6468, ptr noundef nonnull align 8 dereferenceable(32) %814)
  %815 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 10
  %816 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEaSEOS4_(ptr noundef nonnull align 8 dereferenceable(32) %815, ptr noundef nonnull align 8 dereferenceable(32) %43) #5
  call void @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %43) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %43) #5
  %817 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 11
  %818 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN2tsoRERNS_10TokenFlagsES0_(ptr noundef nonnull align 4 dereferenceable(4) %817, i32 noundef 128)
  %819 = call noundef i32 @_ZN2ts7Scanner17checkBigIntSuffixEv(ptr noundef nonnull align 8 dereferenceable(176) %104)
  %820 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 9
  store i32 %819, ptr %820, align 8, !tbaa !34
  store i32 %819, ptr %2, align 4
  store i32 1, ptr %5, align 4
  br label %1554

821:                                              ; preds = %778, %764
  %822 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %823 = load i32, ptr %822, align 8, !tbaa !9
  %824 = add nsw i32 %823, 2
  %825 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 6
  %826 = load i32, ptr %825, align 4, !tbaa !33
  %827 = icmp slt i32 %824, %826
  br i1 %827, label %828, label %878

828:                                              ; preds = %821
  %829 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 4
  %830 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %831 = load i32, ptr %830, align 8, !tbaa !9
  %832 = add nsw i32 %831, 1
  %833 = call noundef i32 @_ZN2ts11safe_stringixEi(ptr noundef nonnull align 8 dereferenceable(32) %829, i32 noundef %832)
  %834 = icmp eq i32 %833, 79
  br i1 %834, label %842, label %835

835:                                              ; preds = %828
  %836 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 4
  %837 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %838 = load i32, ptr %837, align 8, !tbaa !9
  %839 = add nsw i32 %838, 1
  %840 = call noundef i32 @_ZN2ts11safe_stringixEi(ptr noundef nonnull align 8 dereferenceable(32) %836, i32 noundef %839)
  %841 = icmp eq i32 %840, 111
  br i1 %841, label %842, label %878

842:                                              ; preds = %835, %828
  %843 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %844 = load i32, ptr %843, align 8, !tbaa !9
  %845 = add nsw i32 %844, 2
  store i32 %845, ptr %843, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 32, ptr %44) #5
  call void @_ZN2ts7Scanner23scanBinaryOrOctalDigitsB5cxx11Ei(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %44, ptr noundef nonnull align 8 dereferenceable(176) %104, i32 noundef 8)
  %846 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 10
  %847 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEaSEOS4_(ptr noundef nonnull align 8 dereferenceable(32) %846, ptr noundef nonnull align 8 dereferenceable(32) %44) #5
  call void @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %44) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %44) #5
  %848 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 10
  %849 = call noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32) %848) #5
  br i1 %849, label %850, label %870

850:                                              ; preds = %842
  call void @llvm.lifetime.start.p0(i64 128, ptr %46) #5
  call void @_ZN2ts4data17DiagnosticMessageC2ERNS_22DiagnosticMessageStoreE(ptr noundef nonnull align 8 dereferenceable(121) %46, ptr noundef nonnull align 8 dereferenceable(72) @_ZN2ts11DiagnosticsL20Octal_digit_expectedE)
  invoke void @_ZN3ptrIN2ts4data17DiagnosticMessageEEC2ERKS2_(ptr noundef nonnull align 8 dereferenceable(16) %45, ptr noundef nonnull align 8 dereferenceable(121) %46)
          to label %851 unwind label %856

851:                                              ; preds = %850
  call void @llvm.lifetime.start.p0(i64 1, ptr %48) #5
  call void @_ZNSaIwEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %48) #5
  invoke void @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2IS3_EEPKwRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %47, ptr noundef @.str.6452, ptr noundef nonnull align 1 dereferenceable(1) %48)
          to label %852 unwind label %860

852:                                              ; preds = %851
  invoke void @_ZN2ts7Scanner5errorE3ptrINS_4data17DiagnosticMessageEEiiNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEE(ptr noundef nonnull align 8 dereferenceable(176) %104, ptr noundef %45, i32 noundef -1, i32 noundef 0, ptr noundef %47)
          to label %853 unwind label %864

853:                                              ; preds = %852
  call void @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %47) #5
  call void @_ZNSt15__new_allocatorIwED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %48) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %48) #5
  call void @_ZN3ptrIN2ts4data17DiagnosticMessageEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %45) #5
  call void @_ZN2ts4data17DiagnosticMessageD2Ev(ptr noundef nonnull align 8 dereferenceable(121) %46) #5
  call void @llvm.lifetime.end.p0(i64 128, ptr %46) #5
  %854 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 10
  %855 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEaSEPKw(ptr noundef nonnull align 8 dereferenceable(32) %854, ptr noundef @.str.6453)
  br label %870

856:                                              ; preds = %850
  %857 = landingpad { ptr, i32 }
          cleanup
  %858 = extractvalue { ptr, i32 } %857, 0
  store ptr %858, ptr %9, align 8
  %859 = extractvalue { ptr, i32 } %857, 1
  store i32 %859, ptr %10, align 4
  br label %869

860:                                              ; preds = %851
  %861 = landingpad { ptr, i32 }
          cleanup
  %862 = extractvalue { ptr, i32 } %861, 0
  store ptr %862, ptr %9, align 8
  %863 = extractvalue { ptr, i32 } %861, 1
  store i32 %863, ptr %10, align 4
  br label %868

864:                                              ; preds = %852
  %865 = landingpad { ptr, i32 }
          cleanup
  %866 = extractvalue { ptr, i32 } %865, 0
  store ptr %866, ptr %9, align 8
  %867 = extractvalue { ptr, i32 } %865, 1
  store i32 %867, ptr %10, align 4
  call void @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %47) #5
  br label %868

868:                                              ; preds = %864, %860
  call void @_ZNSt15__new_allocatorIwED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %48) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %48) #5
  call void @_ZN3ptrIN2ts4data17DiagnosticMessageEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %45) #5
  br label %869

869:                                              ; preds = %868, %856
  call void @_ZN2ts4data17DiagnosticMessageD2Ev(ptr noundef nonnull align 8 dereferenceable(121) %46) #5
  call void @llvm.lifetime.end.p0(i64 128, ptr %46) #5
  br label %1556

870:                                              ; preds = %853, %842
  call void @llvm.lifetime.start.p0(i64 32, ptr %49) #5
  %871 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 10
  call void @_ZStplIwSt11char_traitsIwESaIwEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %49, ptr noundef @.str.6455, ptr noundef nonnull align 8 dereferenceable(32) %871)
  %872 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 10
  %873 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEaSEOS4_(ptr noundef nonnull align 8 dereferenceable(32) %872, ptr noundef nonnull align 8 dereferenceable(32) %49) #5
  call void @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %49) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %49) #5
  %874 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 11
  %875 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN2tsoRERNS_10TokenFlagsES0_(ptr noundef nonnull align 4 dereferenceable(4) %874, i32 noundef 256)
  %876 = call noundef i32 @_ZN2ts7Scanner17checkBigIntSuffixEv(ptr noundef nonnull align 8 dereferenceable(176) %104)
  %877 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 9
  store i32 %876, ptr %877, align 8, !tbaa !34
  store i32 %876, ptr %2, align 4
  store i32 1, ptr %5, align 4
  br label %1554

878:                                              ; preds = %835, %821
  br label %879

879:                                              ; preds = %878
  br label %880

880:                                              ; preds = %879
  br label %881

881:                                              ; preds = %880, %177, %177, %177, %177, %177, %177, %177, %177, %177
  %882 = call noundef i32 @_ZN2ts7Scanner10scanNumberEv(ptr noundef nonnull align 8 dereferenceable(176) %104)
  %883 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 9
  store i32 %882, ptr %883, align 8, !tbaa !34
  store i32 %882, ptr %2, align 4
  store i32 1, ptr %5, align 4
  br label %1554

884:                                              ; preds = %177
  %885 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %886 = load i32, ptr %885, align 8, !tbaa !9
  %887 = add nsw i32 %886, 1
  store i32 %887, ptr %885, align 8, !tbaa !9
  %888 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 9
  store i32 59, ptr %888, align 8, !tbaa !34
  store i32 59, ptr %2, align 4
  store i32 1, ptr %5, align 4
  br label %1554

889:                                              ; preds = %177
  %890 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %891 = load i32, ptr %890, align 8, !tbaa !9
  %892 = add nsw i32 %891, 1
  store i32 %892, ptr %890, align 8, !tbaa !9
  %893 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 9
  store i32 27, ptr %893, align 8, !tbaa !34
  store i32 27, ptr %2, align 4
  store i32 1, ptr %5, align 4
  br label %1554

894:                                              ; preds = %177
  %895 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 4
  %896 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %897 = load i32, ptr %896, align 8, !tbaa !9
  %898 = call noundef zeroext i1 @_ZN2ts7Scanner22isConflictMarkerTriviaERNS_11safe_stringEi(ptr noundef nonnull align 8 dereferenceable(176) %104, ptr noundef nonnull align 8 dereferenceable(32) %895, i32 noundef %897)
  br i1 %898, label %899, label %916

899:                                              ; preds = %894
  %900 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 4
  %901 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %902 = load i32, ptr %901, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 24, ptr %51) #5
  call void @llvm.lifetime.start.p0(i64 16, ptr %52) #5
  store { i64, i64 } { i64 ptrtoint (ptr @_ZN2ts7Scanner5errorE3ptrINS_4data17DiagnosticMessageEEiiNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEE to i64), i64 0 }, ptr %52, align 8, !tbaa !47
  call void @llvm.lifetime.start.p0(i64 8, ptr %53) #5
  store ptr %104, ptr %53, align 8, !tbaa !5
  call void @_ZSt4bindIMN2ts7ScannerEFv3ptrINS0_4data17DiagnosticMessageEEiiNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEEJPS1_RKSt12_PlaceholderILi1EERKSF_ILi2EERKSF_ILi3EERKSF_ILi4EEEENSt12_Bind_helperIXsr15__is_socketlikeIT_EE5valueEST_JDpT0_EE4typeEOST_DpOSU_(ptr dead_on_unwind writable sret(%"class.std::_Bind.147") align 8 %51, ptr noundef nonnull align 8 dereferenceable(16) %52, ptr noundef nonnull align 8 dereferenceable(8) %53, ptr noundef nonnull align 1 dereferenceable(1) @_ZNSt12placeholders2_1E, ptr noundef nonnull align 1 dereferenceable(1) @_ZNSt12placeholders2_2E, ptr noundef nonnull align 1 dereferenceable(1) @_ZNSt12placeholders2_3E, ptr noundef nonnull align 1 dereferenceable(1) @_ZNSt12placeholders2_4E)
  call void @_ZNSt8functionIFv3ptrIN2ts4data17DiagnosticMessageEEiiNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEEEC2ISt5_BindIFMNS1_7ScannerEFvS4_iiSA_EPSF_St12_PlaceholderILi1EESJ_ILi2EESJ_ILi3EESJ_ILi4EEEEvEEOT_(ptr noundef nonnull align 8 dereferenceable(32) %50, ptr noundef nonnull align 8 dereferenceable(24) %51)
  %903 = invoke noundef i32 @_ZN2ts7Scanner24scanConflictMarkerTriviaERNS_11safe_stringEiSt8functionIFv3ptrINS_4data17DiagnosticMessageEEiiNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEEE(ptr noundef nonnull align 8 dereferenceable(176) %104, ptr noundef nonnull align 8 dereferenceable(32) %900, i32 noundef %902, ptr noundef %50)
          to label %904 unwind label %910

904:                                              ; preds = %899
  %905 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  store i32 %903, ptr %905, align 8, !tbaa !9
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %50) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %53) #5
  call void @llvm.lifetime.end.p0(i64 16, ptr %52) #5
  call void @llvm.lifetime.end.p0(i64 24, ptr %51) #5
  %906 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 2
  %907 = load i8, ptr %906, align 8, !tbaa !37, !range !38, !noundef !39
  %908 = trunc i8 %907 to i1
  br i1 %908, label %909, label %914

909:                                              ; preds = %904
  store i32 2, ptr %5, align 4
  br label %1554, !llvm.loop !40

910:                                              ; preds = %899
  %911 = landingpad { ptr, i32 }
          cleanup
  %912 = extractvalue { ptr, i32 } %911, 0
  store ptr %912, ptr %9, align 8
  %913 = extractvalue { ptr, i32 } %911, 1
  store i32 %913, ptr %10, align 4
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %50) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %53) #5
  call void @llvm.lifetime.end.p0(i64 16, ptr %52) #5
  call void @llvm.lifetime.end.p0(i64 24, ptr %51) #5
  br label %1556

914:                                              ; preds = %904
  %915 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 9
  store i32 7, ptr %915, align 8, !tbaa !34
  store i32 7, ptr %2, align 4
  store i32 1, ptr %5, align 4
  br label %1554

916:                                              ; preds = %894
  %917 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 4
  %918 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %919 = load i32, ptr %918, align 8, !tbaa !9
  %920 = add nsw i32 %919, 1
  %921 = call noundef i32 @_ZN2ts11safe_stringixEi(ptr noundef nonnull align 8 dereferenceable(32) %917, i32 noundef %920)
  %922 = icmp eq i32 %921, 60
  br i1 %922, label %923, label %940

923:                                              ; preds = %916
  %924 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 4
  %925 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %926 = load i32, ptr %925, align 8, !tbaa !9
  %927 = add nsw i32 %926, 2
  %928 = call noundef i32 @_ZN2ts11safe_stringixEi(ptr noundef nonnull align 8 dereferenceable(32) %924, i32 noundef %927)
  %929 = icmp eq i32 %928, 61
  br i1 %929, label %930, label %935

930:                                              ; preds = %923
  %931 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %932 = load i32, ptr %931, align 8, !tbaa !9
  %933 = add nsw i32 %932, 3
  store i32 %933, ptr %931, align 8, !tbaa !9
  %934 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 9
  store i32 71, ptr %934, align 8, !tbaa !34
  store i32 71, ptr %2, align 4
  store i32 1, ptr %5, align 4
  br label %1554

935:                                              ; preds = %923
  %936 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %937 = load i32, ptr %936, align 8, !tbaa !9
  %938 = add nsw i32 %937, 2
  store i32 %938, ptr %936, align 8, !tbaa !9
  %939 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 9
  store i32 48, ptr %939, align 8, !tbaa !34
  store i32 48, ptr %2, align 4
  store i32 1, ptr %5, align 4
  br label %1554

940:                                              ; preds = %916
  %941 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 4
  %942 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %943 = load i32, ptr %942, align 8, !tbaa !9
  %944 = add nsw i32 %943, 1
  %945 = call noundef i32 @_ZN2ts11safe_stringixEi(ptr noundef nonnull align 8 dereferenceable(32) %941, i32 noundef %944)
  %946 = icmp eq i32 %945, 61
  br i1 %946, label %947, label %952

947:                                              ; preds = %940
  %948 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %949 = load i32, ptr %948, align 8, !tbaa !9
  %950 = add nsw i32 %949, 2
  store i32 %950, ptr %948, align 8, !tbaa !9
  %951 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 9
  store i32 33, ptr %951, align 8, !tbaa !34
  store i32 33, ptr %2, align 4
  store i32 1, ptr %5, align 4
  br label %1554

952:                                              ; preds = %940
  %953 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 3
  %954 = load i32, ptr %953, align 4, !tbaa !48
  %955 = icmp eq i32 %954, 1
  br i1 %955, label %956, label %975

956:                                              ; preds = %952
  %957 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 4
  %958 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %959 = load i32, ptr %958, align 8, !tbaa !9
  %960 = add nsw i32 %959, 1
  %961 = call noundef i32 @_ZN2ts11safe_stringixEi(ptr noundef nonnull align 8 dereferenceable(32) %957, i32 noundef %960)
  %962 = icmp eq i32 %961, 47
  br i1 %962, label %963, label %975

963:                                              ; preds = %956
  %964 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 4
  %965 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %966 = load i32, ptr %965, align 8, !tbaa !9
  %967 = add nsw i32 %966, 2
  %968 = call noundef i32 @_ZN2ts11safe_stringixEi(ptr noundef nonnull align 8 dereferenceable(32) %964, i32 noundef %967)
  %969 = icmp ne i32 %968, 42
  br i1 %969, label %970, label %975

970:                                              ; preds = %963
  %971 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %972 = load i32, ptr %971, align 8, !tbaa !9
  %973 = add nsw i32 %972, 2
  store i32 %973, ptr %971, align 8, !tbaa !9
  %974 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 9
  store i32 31, ptr %974, align 8, !tbaa !34
  store i32 31, ptr %2, align 4
  store i32 1, ptr %5, align 4
  br label %1554

975:                                              ; preds = %963, %956, %952
  %976 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %977 = load i32, ptr %976, align 8, !tbaa !9
  %978 = add nsw i32 %977, 1
  store i32 %978, ptr %976, align 8, !tbaa !9
  %979 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 9
  store i32 30, ptr %979, align 8, !tbaa !34
  store i32 30, ptr %2, align 4
  store i32 1, ptr %5, align 4
  br label %1554

980:                                              ; preds = %177
  %981 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 4
  %982 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %983 = load i32, ptr %982, align 8, !tbaa !9
  %984 = call noundef zeroext i1 @_ZN2ts7Scanner22isConflictMarkerTriviaERNS_11safe_stringEi(ptr noundef nonnull align 8 dereferenceable(176) %104, ptr noundef nonnull align 8 dereferenceable(32) %981, i32 noundef %983)
  br i1 %984, label %985, label %1002

985:                                              ; preds = %980
  %986 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 4
  %987 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %988 = load i32, ptr %987, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 24, ptr %55) #5
  call void @llvm.lifetime.start.p0(i64 16, ptr %56) #5
  store { i64, i64 } { i64 ptrtoint (ptr @_ZN2ts7Scanner5errorE3ptrINS_4data17DiagnosticMessageEEiiNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEE to i64), i64 0 }, ptr %56, align 8, !tbaa !47
  call void @llvm.lifetime.start.p0(i64 8, ptr %57) #5
  store ptr %104, ptr %57, align 8, !tbaa !5
  call void @_ZSt4bindIMN2ts7ScannerEFv3ptrINS0_4data17DiagnosticMessageEEiiNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEEJPS1_RKSt12_PlaceholderILi1EERKSF_ILi2EERKSF_ILi3EERKSF_ILi4EEEENSt12_Bind_helperIXsr15__is_socketlikeIT_EE5valueEST_JDpT0_EE4typeEOST_DpOSU_(ptr dead_on_unwind writable sret(%"class.std::_Bind.147") align 8 %55, ptr noundef nonnull align 8 dereferenceable(16) %56, ptr noundef nonnull align 8 dereferenceable(8) %57, ptr noundef nonnull align 1 dereferenceable(1) @_ZNSt12placeholders2_1E, ptr noundef nonnull align 1 dereferenceable(1) @_ZNSt12placeholders2_2E, ptr noundef nonnull align 1 dereferenceable(1) @_ZNSt12placeholders2_3E, ptr noundef nonnull align 1 dereferenceable(1) @_ZNSt12placeholders2_4E)
  call void @_ZNSt8functionIFv3ptrIN2ts4data17DiagnosticMessageEEiiNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEEEC2ISt5_BindIFMNS1_7ScannerEFvS4_iiSA_EPSF_St12_PlaceholderILi1EESJ_ILi2EESJ_ILi3EESJ_ILi4EEEEvEEOT_(ptr noundef nonnull align 8 dereferenceable(32) %54, ptr noundef nonnull align 8 dereferenceable(24) %55)
  %989 = invoke noundef i32 @_ZN2ts7Scanner24scanConflictMarkerTriviaERNS_11safe_stringEiSt8functionIFv3ptrINS_4data17DiagnosticMessageEEiiNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEEE(ptr noundef nonnull align 8 dereferenceable(176) %104, ptr noundef nonnull align 8 dereferenceable(32) %986, i32 noundef %988, ptr noundef %54)
          to label %990 unwind label %996

990:                                              ; preds = %985
  %991 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  store i32 %989, ptr %991, align 8, !tbaa !9
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %54) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %57) #5
  call void @llvm.lifetime.end.p0(i64 16, ptr %56) #5
  call void @llvm.lifetime.end.p0(i64 24, ptr %55) #5
  %992 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 2
  %993 = load i8, ptr %992, align 8, !tbaa !37, !range !38, !noundef !39
  %994 = trunc i8 %993 to i1
  br i1 %994, label %995, label %1000

995:                                              ; preds = %990
  store i32 2, ptr %5, align 4
  br label %1554, !llvm.loop !40

996:                                              ; preds = %985
  %997 = landingpad { ptr, i32 }
          cleanup
  %998 = extractvalue { ptr, i32 } %997, 0
  store ptr %998, ptr %9, align 8
  %999 = extractvalue { ptr, i32 } %997, 1
  store i32 %999, ptr %10, align 4
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %54) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %57) #5
  call void @llvm.lifetime.end.p0(i64 16, ptr %56) #5
  call void @llvm.lifetime.end.p0(i64 24, ptr %55) #5
  br label %1556

1000:                                             ; preds = %990
  %1001 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 9
  store i32 7, ptr %1001, align 8, !tbaa !34
  store i32 7, ptr %2, align 4
  store i32 1, ptr %5, align 4
  br label %1554

1002:                                             ; preds = %980
  %1003 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 4
  %1004 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %1005 = load i32, ptr %1004, align 8, !tbaa !9
  %1006 = add nsw i32 %1005, 1
  %1007 = call noundef i32 @_ZN2ts11safe_stringixEi(ptr noundef nonnull align 8 dereferenceable(32) %1003, i32 noundef %1006)
  %1008 = icmp eq i32 %1007, 61
  br i1 %1008, label %1009, label %1026

1009:                                             ; preds = %1002
  %1010 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 4
  %1011 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %1012 = load i32, ptr %1011, align 8, !tbaa !9
  %1013 = add nsw i32 %1012, 2
  %1014 = call noundef i32 @_ZN2ts11safe_stringixEi(ptr noundef nonnull align 8 dereferenceable(32) %1010, i32 noundef %1013)
  %1015 = icmp eq i32 %1014, 61
  br i1 %1015, label %1016, label %1021

1016:                                             ; preds = %1009
  %1017 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %1018 = load i32, ptr %1017, align 8, !tbaa !9
  %1019 = add nsw i32 %1018, 3
  store i32 %1019, ptr %1017, align 8, !tbaa !9
  %1020 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 9
  store i32 37, ptr %1020, align 8, !tbaa !34
  store i32 37, ptr %2, align 4
  store i32 1, ptr %5, align 4
  br label %1554

1021:                                             ; preds = %1009
  %1022 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %1023 = load i32, ptr %1022, align 8, !tbaa !9
  %1024 = add nsw i32 %1023, 2
  store i32 %1024, ptr %1022, align 8, !tbaa !9
  %1025 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 9
  store i32 35, ptr %1025, align 8, !tbaa !34
  store i32 35, ptr %2, align 4
  store i32 1, ptr %5, align 4
  br label %1554

1026:                                             ; preds = %1002
  %1027 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 4
  %1028 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %1029 = load i32, ptr %1028, align 8, !tbaa !9
  %1030 = add nsw i32 %1029, 1
  %1031 = call noundef i32 @_ZN2ts11safe_stringixEi(ptr noundef nonnull align 8 dereferenceable(32) %1027, i32 noundef %1030)
  %1032 = icmp eq i32 %1031, 62
  br i1 %1032, label %1033, label %1038

1033:                                             ; preds = %1026
  %1034 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %1035 = load i32, ptr %1034, align 8, !tbaa !9
  %1036 = add nsw i32 %1035, 2
  store i32 %1036, ptr %1034, align 8, !tbaa !9
  %1037 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 9
  store i32 39, ptr %1037, align 8, !tbaa !34
  store i32 39, ptr %2, align 4
  store i32 1, ptr %5, align 4
  br label %1554

1038:                                             ; preds = %1026
  %1039 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %1040 = load i32, ptr %1039, align 8, !tbaa !9
  %1041 = add nsw i32 %1040, 1
  store i32 %1041, ptr %1039, align 8, !tbaa !9
  %1042 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 9
  store i32 64, ptr %1042, align 8, !tbaa !34
  store i32 64, ptr %2, align 4
  store i32 1, ptr %5, align 4
  br label %1554

1043:                                             ; preds = %177
  %1044 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 4
  %1045 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %1046 = load i32, ptr %1045, align 8, !tbaa !9
  %1047 = call noundef zeroext i1 @_ZN2ts7Scanner22isConflictMarkerTriviaERNS_11safe_stringEi(ptr noundef nonnull align 8 dereferenceable(176) %104, ptr noundef nonnull align 8 dereferenceable(32) %1044, i32 noundef %1046)
  br i1 %1047, label %1048, label %1065

1048:                                             ; preds = %1043
  %1049 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 4
  %1050 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %1051 = load i32, ptr %1050, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 24, ptr %59) #5
  call void @llvm.lifetime.start.p0(i64 16, ptr %60) #5
  store { i64, i64 } { i64 ptrtoint (ptr @_ZN2ts7Scanner5errorE3ptrINS_4data17DiagnosticMessageEEiiNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEE to i64), i64 0 }, ptr %60, align 8, !tbaa !47
  call void @llvm.lifetime.start.p0(i64 8, ptr %61) #5
  store ptr %104, ptr %61, align 8, !tbaa !5
  call void @_ZSt4bindIMN2ts7ScannerEFv3ptrINS0_4data17DiagnosticMessageEEiiNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEEJPS1_RKSt12_PlaceholderILi1EERKSF_ILi2EERKSF_ILi3EERKSF_ILi4EEEENSt12_Bind_helperIXsr15__is_socketlikeIT_EE5valueEST_JDpT0_EE4typeEOST_DpOSU_(ptr dead_on_unwind writable sret(%"class.std::_Bind.147") align 8 %59, ptr noundef nonnull align 8 dereferenceable(16) %60, ptr noundef nonnull align 8 dereferenceable(8) %61, ptr noundef nonnull align 1 dereferenceable(1) @_ZNSt12placeholders2_1E, ptr noundef nonnull align 1 dereferenceable(1) @_ZNSt12placeholders2_2E, ptr noundef nonnull align 1 dereferenceable(1) @_ZNSt12placeholders2_3E, ptr noundef nonnull align 1 dereferenceable(1) @_ZNSt12placeholders2_4E)
  call void @_ZNSt8functionIFv3ptrIN2ts4data17DiagnosticMessageEEiiNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEEEC2ISt5_BindIFMNS1_7ScannerEFvS4_iiSA_EPSF_St12_PlaceholderILi1EESJ_ILi2EESJ_ILi3EESJ_ILi4EEEEvEEOT_(ptr noundef nonnull align 8 dereferenceable(32) %58, ptr noundef nonnull align 8 dereferenceable(24) %59)
  %1052 = invoke noundef i32 @_ZN2ts7Scanner24scanConflictMarkerTriviaERNS_11safe_stringEiSt8functionIFv3ptrINS_4data17DiagnosticMessageEEiiNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEEE(ptr noundef nonnull align 8 dereferenceable(176) %104, ptr noundef nonnull align 8 dereferenceable(32) %1049, i32 noundef %1051, ptr noundef %58)
          to label %1053 unwind label %1059

1053:                                             ; preds = %1048
  %1054 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  store i32 %1052, ptr %1054, align 8, !tbaa !9
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %58) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %61) #5
  call void @llvm.lifetime.end.p0(i64 16, ptr %60) #5
  call void @llvm.lifetime.end.p0(i64 24, ptr %59) #5
  %1055 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 2
  %1056 = load i8, ptr %1055, align 8, !tbaa !37, !range !38, !noundef !39
  %1057 = trunc i8 %1056 to i1
  br i1 %1057, label %1058, label %1063

1058:                                             ; preds = %1053
  store i32 2, ptr %5, align 4
  br label %1554, !llvm.loop !40

1059:                                             ; preds = %1048
  %1060 = landingpad { ptr, i32 }
          cleanup
  %1061 = extractvalue { ptr, i32 } %1060, 0
  store ptr %1061, ptr %9, align 8
  %1062 = extractvalue { ptr, i32 } %1060, 1
  store i32 %1062, ptr %10, align 4
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %58) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %61) #5
  call void @llvm.lifetime.end.p0(i64 16, ptr %60) #5
  call void @llvm.lifetime.end.p0(i64 24, ptr %59) #5
  br label %1556

1063:                                             ; preds = %1053
  %1064 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 9
  store i32 7, ptr %1064, align 8, !tbaa !34
  store i32 7, ptr %2, align 4
  store i32 1, ptr %5, align 4
  br label %1554

1065:                                             ; preds = %1043
  %1066 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %1067 = load i32, ptr %1066, align 8, !tbaa !9
  %1068 = add nsw i32 %1067, 1
  store i32 %1068, ptr %1066, align 8, !tbaa !9
  %1069 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 9
  store i32 32, ptr %1069, align 8, !tbaa !34
  store i32 32, ptr %2, align 4
  store i32 1, ptr %5, align 4
  br label %1554

1070:                                             ; preds = %177
  %1071 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 4
  %1072 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %1073 = load i32, ptr %1072, align 8, !tbaa !9
  %1074 = add nsw i32 %1073, 1
  %1075 = call noundef i32 @_ZN2ts11safe_stringixEi(ptr noundef nonnull align 8 dereferenceable(32) %1071, i32 noundef %1074)
  %1076 = icmp eq i32 %1075, 46
  br i1 %1076, label %1077, label %1089

1077:                                             ; preds = %1070
  %1078 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 4
  %1079 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %1080 = load i32, ptr %1079, align 8, !tbaa !9
  %1081 = add nsw i32 %1080, 2
  %1082 = call noundef i32 @_ZN2ts11safe_stringixEi(ptr noundef nonnull align 8 dereferenceable(32) %1078, i32 noundef %1081)
  %1083 = call noundef zeroext i1 @_ZN2ts7Scanner7isDigitE14CharacterCodes(ptr noundef nonnull align 8 dereferenceable(176) %104, i32 noundef %1082)
  br i1 %1083, label %1089, label %1084

1084:                                             ; preds = %1077
  %1085 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %1086 = load i32, ptr %1085, align 8, !tbaa !9
  %1087 = add nsw i32 %1086, 2
  store i32 %1087, ptr %1085, align 8, !tbaa !9
  %1088 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 9
  store i32 29, ptr %1088, align 8, !tbaa !34
  store i32 29, ptr %2, align 4
  store i32 1, ptr %5, align 4
  br label %1554

1089:                                             ; preds = %1077, %1070
  %1090 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 4
  %1091 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %1092 = load i32, ptr %1091, align 8, !tbaa !9
  %1093 = add nsw i32 %1092, 1
  %1094 = call noundef i32 @_ZN2ts11safe_stringixEi(ptr noundef nonnull align 8 dereferenceable(32) %1090, i32 noundef %1093)
  %1095 = icmp eq i32 %1094, 63
  br i1 %1095, label %1096, label %1113

1096:                                             ; preds = %1089
  %1097 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 4
  %1098 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %1099 = load i32, ptr %1098, align 8, !tbaa !9
  %1100 = add nsw i32 %1099, 2
  %1101 = call noundef i32 @_ZN2ts11safe_stringixEi(ptr noundef nonnull align 8 dereferenceable(32) %1097, i32 noundef %1100)
  %1102 = icmp eq i32 %1101, 61
  br i1 %1102, label %1103, label %1108

1103:                                             ; preds = %1096
  %1104 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %1105 = load i32, ptr %1104, align 8, !tbaa !9
  %1106 = add nsw i32 %1105, 3
  store i32 %1106, ptr %1104, align 8, !tbaa !9
  %1107 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 9
  store i32 78, ptr %1107, align 8, !tbaa !34
  store i32 78, ptr %2, align 4
  store i32 1, ptr %5, align 4
  br label %1554

1108:                                             ; preds = %1096
  %1109 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %1110 = load i32, ptr %1109, align 8, !tbaa !9
  %1111 = add nsw i32 %1110, 2
  store i32 %1111, ptr %1109, align 8, !tbaa !9
  %1112 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 9
  store i32 61, ptr %1112, align 8, !tbaa !34
  store i32 61, ptr %2, align 4
  store i32 1, ptr %5, align 4
  br label %1554

1113:                                             ; preds = %1089
  %1114 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %1115 = load i32, ptr %1114, align 8, !tbaa !9
  %1116 = add nsw i32 %1115, 1
  store i32 %1116, ptr %1114, align 8, !tbaa !9
  %1117 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 9
  store i32 58, ptr %1117, align 8, !tbaa !34
  store i32 58, ptr %2, align 4
  store i32 1, ptr %5, align 4
  br label %1554

1118:                                             ; preds = %177
  %1119 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %1120 = load i32, ptr %1119, align 8, !tbaa !9
  %1121 = add nsw i32 %1120, 1
  store i32 %1121, ptr %1119, align 8, !tbaa !9
  %1122 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 9
  store i32 23, ptr %1122, align 8, !tbaa !34
  store i32 23, ptr %2, align 4
  store i32 1, ptr %5, align 4
  br label %1554

1123:                                             ; preds = %177
  %1124 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %1125 = load i32, ptr %1124, align 8, !tbaa !9
  %1126 = add nsw i32 %1125, 1
  store i32 %1126, ptr %1124, align 8, !tbaa !9
  %1127 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 9
  store i32 24, ptr %1127, align 8, !tbaa !34
  store i32 24, ptr %2, align 4
  store i32 1, ptr %5, align 4
  br label %1554

1128:                                             ; preds = %177
  %1129 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 4
  %1130 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %1131 = load i32, ptr %1130, align 8, !tbaa !9
  %1132 = add nsw i32 %1131, 1
  %1133 = call noundef i32 @_ZN2ts11safe_stringixEi(ptr noundef nonnull align 8 dereferenceable(32) %1129, i32 noundef %1132)
  %1134 = icmp eq i32 %1133, 61
  br i1 %1134, label %1135, label %1140

1135:                                             ; preds = %1128
  %1136 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %1137 = load i32, ptr %1136, align 8, !tbaa !9
  %1138 = add nsw i32 %1137, 2
  store i32 %1138, ptr %1136, align 8, !tbaa !9
  %1139 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 9
  store i32 79, ptr %1139, align 8, !tbaa !34
  store i32 79, ptr %2, align 4
  store i32 1, ptr %5, align 4
  br label %1554

1140:                                             ; preds = %1128
  %1141 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %1142 = load i32, ptr %1141, align 8, !tbaa !9
  %1143 = add nsw i32 %1142, 1
  store i32 %1143, ptr %1141, align 8, !tbaa !9
  %1144 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 9
  store i32 53, ptr %1144, align 8, !tbaa !34
  store i32 53, ptr %2, align 4
  store i32 1, ptr %5, align 4
  br label %1554

1145:                                             ; preds = %177
  %1146 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %1147 = load i32, ptr %1146, align 8, !tbaa !9
  %1148 = add nsw i32 %1147, 1
  store i32 %1148, ptr %1146, align 8, !tbaa !9
  %1149 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 9
  store i32 19, ptr %1149, align 8, !tbaa !34
  store i32 19, ptr %2, align 4
  store i32 1, ptr %5, align 4
  br label %1554

1150:                                             ; preds = %177
  %1151 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 4
  %1152 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %1153 = load i32, ptr %1152, align 8, !tbaa !9
  %1154 = call noundef zeroext i1 @_ZN2ts7Scanner22isConflictMarkerTriviaERNS_11safe_stringEi(ptr noundef nonnull align 8 dereferenceable(176) %104, ptr noundef nonnull align 8 dereferenceable(32) %1151, i32 noundef %1153)
  br i1 %1154, label %1155, label %1172

1155:                                             ; preds = %1150
  %1156 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 4
  %1157 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %1158 = load i32, ptr %1157, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 24, ptr %63) #5
  call void @llvm.lifetime.start.p0(i64 16, ptr %64) #5
  store { i64, i64 } { i64 ptrtoint (ptr @_ZN2ts7Scanner5errorE3ptrINS_4data17DiagnosticMessageEEiiNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEE to i64), i64 0 }, ptr %64, align 8, !tbaa !47
  call void @llvm.lifetime.start.p0(i64 8, ptr %65) #5
  store ptr %104, ptr %65, align 8, !tbaa !5
  call void @_ZSt4bindIMN2ts7ScannerEFv3ptrINS0_4data17DiagnosticMessageEEiiNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEEJPS1_RKSt12_PlaceholderILi1EERKSF_ILi2EERKSF_ILi3EERKSF_ILi4EEEENSt12_Bind_helperIXsr15__is_socketlikeIT_EE5valueEST_JDpT0_EE4typeEOST_DpOSU_(ptr dead_on_unwind writable sret(%"class.std::_Bind.147") align 8 %63, ptr noundef nonnull align 8 dereferenceable(16) %64, ptr noundef nonnull align 8 dereferenceable(8) %65, ptr noundef nonnull align 1 dereferenceable(1) @_ZNSt12placeholders2_1E, ptr noundef nonnull align 1 dereferenceable(1) @_ZNSt12placeholders2_2E, ptr noundef nonnull align 1 dereferenceable(1) @_ZNSt12placeholders2_3E, ptr noundef nonnull align 1 dereferenceable(1) @_ZNSt12placeholders2_4E)
  call void @_ZNSt8functionIFv3ptrIN2ts4data17DiagnosticMessageEEiiNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEEEC2ISt5_BindIFMNS1_7ScannerEFvS4_iiSA_EPSF_St12_PlaceholderILi1EESJ_ILi2EESJ_ILi3EESJ_ILi4EEEEvEEOT_(ptr noundef nonnull align 8 dereferenceable(32) %62, ptr noundef nonnull align 8 dereferenceable(24) %63)
  %1159 = invoke noundef i32 @_ZN2ts7Scanner24scanConflictMarkerTriviaERNS_11safe_stringEiSt8functionIFv3ptrINS_4data17DiagnosticMessageEEiiNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEEE(ptr noundef nonnull align 8 dereferenceable(176) %104, ptr noundef nonnull align 8 dereferenceable(32) %1156, i32 noundef %1158, ptr noundef %62)
          to label %1160 unwind label %1166

1160:                                             ; preds = %1155
  %1161 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  store i32 %1159, ptr %1161, align 8, !tbaa !9
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %62) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %65) #5
  call void @llvm.lifetime.end.p0(i64 16, ptr %64) #5
  call void @llvm.lifetime.end.p0(i64 24, ptr %63) #5
  %1162 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 2
  %1163 = load i8, ptr %1162, align 8, !tbaa !37, !range !38, !noundef !39
  %1164 = trunc i8 %1163 to i1
  br i1 %1164, label %1165, label %1170

1165:                                             ; preds = %1160
  store i32 2, ptr %5, align 4
  br label %1554, !llvm.loop !40

1166:                                             ; preds = %1155
  %1167 = landingpad { ptr, i32 }
          cleanup
  %1168 = extractvalue { ptr, i32 } %1167, 0
  store ptr %1168, ptr %9, align 8
  %1169 = extractvalue { ptr, i32 } %1167, 1
  store i32 %1169, ptr %10, align 4
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %62) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %65) #5
  call void @llvm.lifetime.end.p0(i64 16, ptr %64) #5
  call void @llvm.lifetime.end.p0(i64 24, ptr %63) #5
  br label %1556

1170:                                             ; preds = %1160
  %1171 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 9
  store i32 7, ptr %1171, align 8, !tbaa !34
  store i32 7, ptr %2, align 4
  store i32 1, ptr %5, align 4
  br label %1554

1172:                                             ; preds = %1150
  %1173 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 4
  %1174 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %1175 = load i32, ptr %1174, align 8, !tbaa !9
  %1176 = add nsw i32 %1175, 1
  %1177 = call noundef i32 @_ZN2ts11safe_stringixEi(ptr noundef nonnull align 8 dereferenceable(32) %1173, i32 noundef %1176)
  %1178 = icmp eq i32 %1177, 124
  br i1 %1178, label %1179, label %1196

1179:                                             ; preds = %1172
  %1180 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 4
  %1181 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %1182 = load i32, ptr %1181, align 8, !tbaa !9
  %1183 = add nsw i32 %1182, 2
  %1184 = call noundef i32 @_ZN2ts11safe_stringixEi(ptr noundef nonnull align 8 dereferenceable(32) %1180, i32 noundef %1183)
  %1185 = icmp eq i32 %1184, 61
  br i1 %1185, label %1186, label %1191

1186:                                             ; preds = %1179
  %1187 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %1188 = load i32, ptr %1187, align 8, !tbaa !9
  %1189 = add nsw i32 %1188, 3
  store i32 %1189, ptr %1187, align 8, !tbaa !9
  %1190 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 9
  store i32 76, ptr %1190, align 8, !tbaa !34
  store i32 76, ptr %2, align 4
  store i32 1, ptr %5, align 4
  br label %1554

1191:                                             ; preds = %1179
  %1192 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %1193 = load i32, ptr %1192, align 8, !tbaa !9
  %1194 = add nsw i32 %1193, 2
  store i32 %1194, ptr %1192, align 8, !tbaa !9
  %1195 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 9
  store i32 57, ptr %1195, align 8, !tbaa !34
  store i32 57, ptr %2, align 4
  store i32 1, ptr %5, align 4
  br label %1554

1196:                                             ; preds = %1172
  %1197 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 4
  %1198 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %1199 = load i32, ptr %1198, align 8, !tbaa !9
  %1200 = add nsw i32 %1199, 1
  %1201 = call noundef i32 @_ZN2ts11safe_stringixEi(ptr noundef nonnull align 8 dereferenceable(32) %1197, i32 noundef %1200)
  %1202 = icmp eq i32 %1201, 61
  br i1 %1202, label %1203, label %1208

1203:                                             ; preds = %1196
  %1204 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %1205 = load i32, ptr %1204, align 8, !tbaa !9
  %1206 = add nsw i32 %1205, 2
  store i32 %1206, ptr %1204, align 8, !tbaa !9
  %1207 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 9
  store i32 75, ptr %1207, align 8, !tbaa !34
  store i32 75, ptr %2, align 4
  store i32 1, ptr %5, align 4
  br label %1554

1208:                                             ; preds = %1196
  %1209 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %1210 = load i32, ptr %1209, align 8, !tbaa !9
  %1211 = add nsw i32 %1210, 1
  store i32 %1211, ptr %1209, align 8, !tbaa !9
  %1212 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 9
  store i32 52, ptr %1212, align 8, !tbaa !34
  store i32 52, ptr %2, align 4
  store i32 1, ptr %5, align 4
  br label %1554

1213:                                             ; preds = %177
  %1214 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %1215 = load i32, ptr %1214, align 8, !tbaa !9
  %1216 = add nsw i32 %1215, 1
  store i32 %1216, ptr %1214, align 8, !tbaa !9
  %1217 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 9
  store i32 20, ptr %1217, align 8, !tbaa !34
  store i32 20, ptr %2, align 4
  store i32 1, ptr %5, align 4
  br label %1554

1218:                                             ; preds = %177
  %1219 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %1220 = load i32, ptr %1219, align 8, !tbaa !9
  %1221 = add nsw i32 %1220, 1
  store i32 %1221, ptr %1219, align 8, !tbaa !9
  %1222 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 9
  store i32 55, ptr %1222, align 8, !tbaa !34
  store i32 55, ptr %2, align 4
  store i32 1, ptr %5, align 4
  br label %1554

1223:                                             ; preds = %177
  %1224 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %1225 = load i32, ptr %1224, align 8, !tbaa !9
  %1226 = add nsw i32 %1225, 1
  store i32 %1226, ptr %1224, align 8, !tbaa !9
  %1227 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 9
  store i32 60, ptr %1227, align 8, !tbaa !34
  store i32 60, ptr %2, align 4
  store i32 1, ptr %5, align 4
  br label %1554

1228:                                             ; preds = %177
  call void @llvm.lifetime.start.p0(i64 4, ptr %66) #5
  %1229 = call noundef i32 @_ZN2ts7Scanner25peekExtendedUnicodeEscapeEv(ptr noundef nonnull align 8 dereferenceable(176) %104)
  store i32 %1229, ptr %66, align 4, !tbaa !35
  %1230 = load i32, ptr %66, align 4, !tbaa !35
  %1231 = icmp sge i32 %1230, 0
  br i1 %1231, label %1232, label %1258

1232:                                             ; preds = %1228
  %1233 = load i32, ptr %66, align 4, !tbaa !35
  %1234 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 1
  %1235 = load i32, ptr %1234, align 4, !tbaa !49
  %1236 = call noundef zeroext i1 @_ZN2ts7Scanner17isIdentifierStartE14CharacterCodesNS_12ScriptTargetE(ptr noundef nonnull align 8 dereferenceable(176) %104, i32 noundef %1233, i32 noundef %1235)
  br i1 %1236, label %1237, label %1258

1237:                                             ; preds = %1232
  %1238 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %1239 = load i32, ptr %1238, align 8, !tbaa !9
  %1240 = add nsw i32 %1239, 3
  store i32 %1240, ptr %1238, align 8, !tbaa !9
  %1241 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 11
  %1242 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN2tsoRERNS_10TokenFlagsES0_(ptr noundef nonnull align 4 dereferenceable(4) %1241, i32 noundef 8)
  call void @llvm.lifetime.start.p0(i64 32, ptr %67) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr %68) #5
  call void @_ZN2ts7Scanner25scanExtendedUnicodeEscapeB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %68, ptr noundef nonnull align 8 dereferenceable(176) %104)
  call void @llvm.lifetime.start.p0(i64 32, ptr %69) #5
  invoke void @_ZN2ts7Scanner19scanIdentifierPartsB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %69, ptr noundef nonnull align 8 dereferenceable(176) %104)
          to label %1243 unwind label %1249

1243:                                             ; preds = %1237
  invoke void @_ZStplIwSt11char_traitsIwESaIwEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %67, ptr noundef nonnull align 8 dereferenceable(32) %68, ptr noundef nonnull align 8 dereferenceable(32) %69)
          to label %1244 unwind label %1253

1244:                                             ; preds = %1243
  %1245 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 10
  %1246 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEaSEOS4_(ptr noundef nonnull align 8 dereferenceable(32) %1245, ptr noundef nonnull align 8 dereferenceable(32) %67) #5
  call void @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %67) #5
  call void @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %69) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %69) #5
  call void @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %68) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %68) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %67) #5
  %1247 = call noundef i32 @_ZN2ts7Scanner18getIdentifierTokenEv(ptr noundef nonnull align 8 dereferenceable(176) %104)
  %1248 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 9
  store i32 %1247, ptr %1248, align 8, !tbaa !34
  store i32 %1247, ptr %2, align 4
  store i32 1, ptr %5, align 4
  br label %1319

1249:                                             ; preds = %1237
  %1250 = landingpad { ptr, i32 }
          cleanup
  %1251 = extractvalue { ptr, i32 } %1250, 0
  store ptr %1251, ptr %9, align 8
  %1252 = extractvalue { ptr, i32 } %1250, 1
  store i32 %1252, ptr %10, align 4
  br label %1257

1253:                                             ; preds = %1243
  %1254 = landingpad { ptr, i32 }
          cleanup
  %1255 = extractvalue { ptr, i32 } %1254, 0
  store ptr %1255, ptr %9, align 8
  %1256 = extractvalue { ptr, i32 } %1254, 1
  store i32 %1256, ptr %10, align 4
  call void @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %69) #5
  br label %1257

1257:                                             ; preds = %1253, %1249
  call void @llvm.lifetime.end.p0(i64 32, ptr %69) #5
  call void @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %68) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %68) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %67) #5
  br label %1320

1258:                                             ; preds = %1232, %1228
  call void @llvm.lifetime.start.p0(i64 4, ptr %70) #5
  %1259 = call noundef i32 @_ZN2ts7Scanner17peekUnicodeEscapeEv(ptr noundef nonnull align 8 dereferenceable(176) %104)
  store i32 %1259, ptr %70, align 4, !tbaa !35
  %1260 = load i32, ptr %70, align 4, !tbaa !35
  %1261 = icmp sge i32 %1260, 0
  br i1 %1261, label %1262, label %1295

1262:                                             ; preds = %1258
  %1263 = load i32, ptr %70, align 4, !tbaa !35
  %1264 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 1
  %1265 = load i32, ptr %1264, align 4, !tbaa !49
  %1266 = call noundef zeroext i1 @_ZN2ts7Scanner17isIdentifierStartE14CharacterCodesNS_12ScriptTargetE(ptr noundef nonnull align 8 dereferenceable(176) %104, i32 noundef %1263, i32 noundef %1265)
  br i1 %1266, label %1267, label %1295

1267:                                             ; preds = %1262
  %1268 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %1269 = load i32, ptr %1268, align 8, !tbaa !9
  %1270 = add nsw i32 %1269, 6
  store i32 %1270, ptr %1268, align 8, !tbaa !9
  %1271 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 11
  %1272 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN2tsoRERNS_10TokenFlagsES0_(ptr noundef nonnull align 4 dereferenceable(4) %1271, i32 noundef 1024)
  call void @llvm.lifetime.start.p0(i64 32, ptr %71) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr %72) #5
  %1273 = load i32, ptr %70, align 4, !tbaa !35
  call void @llvm.lifetime.start.p0(i64 1, ptr %73) #5
  call void @_ZNSaIwEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %73) #5
  invoke void @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2IS3_EEmwRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %72, i64 noundef 1, i32 noundef signext %1273, ptr noundef nonnull align 1 dereferenceable(1) %73)
          to label %1274 unwind label %1281

1274:                                             ; preds = %1267
  call void @llvm.lifetime.start.p0(i64 32, ptr %74) #5
  invoke void @_ZN2ts7Scanner19scanIdentifierPartsB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %74, ptr noundef nonnull align 8 dereferenceable(176) %104)
          to label %1275 unwind label %1285

1275:                                             ; preds = %1274
  invoke void @_ZStplIwSt11char_traitsIwESaIwEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %71, ptr noundef nonnull align 8 dereferenceable(32) %72, ptr noundef nonnull align 8 dereferenceable(32) %74)
          to label %1276 unwind label %1289

1276:                                             ; preds = %1275
  %1277 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 10
  %1278 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEaSEOS4_(ptr noundef nonnull align 8 dereferenceable(32) %1277, ptr noundef nonnull align 8 dereferenceable(32) %71) #5
  call void @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %71) #5
  call void @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %74) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %74) #5
  call void @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %72) #5
  call void @_ZNSt15__new_allocatorIwED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %73) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %73) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %72) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %71) #5
  %1279 = call noundef i32 @_ZN2ts7Scanner18getIdentifierTokenEv(ptr noundef nonnull align 8 dereferenceable(176) %104)
  %1280 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 9
  store i32 %1279, ptr %1280, align 8, !tbaa !34
  store i32 %1279, ptr %2, align 4
  store i32 1, ptr %5, align 4
  br label %1317

1281:                                             ; preds = %1267
  %1282 = landingpad { ptr, i32 }
          cleanup
  %1283 = extractvalue { ptr, i32 } %1282, 0
  store ptr %1283, ptr %9, align 8
  %1284 = extractvalue { ptr, i32 } %1282, 1
  store i32 %1284, ptr %10, align 4
  br label %1294

1285:                                             ; preds = %1274
  %1286 = landingpad { ptr, i32 }
          cleanup
  %1287 = extractvalue { ptr, i32 } %1286, 0
  store ptr %1287, ptr %9, align 8
  %1288 = extractvalue { ptr, i32 } %1286, 1
  store i32 %1288, ptr %10, align 4
  br label %1293

1289:                                             ; preds = %1275
  %1290 = landingpad { ptr, i32 }
          cleanup
  %1291 = extractvalue { ptr, i32 } %1290, 0
  store ptr %1291, ptr %9, align 8
  %1292 = extractvalue { ptr, i32 } %1290, 1
  store i32 %1292, ptr %10, align 4
  call void @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %74) #5
  br label %1293

1293:                                             ; preds = %1289, %1285
  call void @llvm.lifetime.end.p0(i64 32, ptr %74) #5
  call void @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %72) #5
  br label %1294

1294:                                             ; preds = %1293, %1281
  call void @_ZNSt15__new_allocatorIwED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %73) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %73) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %72) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %71) #5
  br label %1318

1295:                                             ; preds = %1262, %1258
  call void @llvm.lifetime.start.p0(i64 128, ptr %76) #5
  call void @_ZN2ts4data17DiagnosticMessageC2ERNS_22DiagnosticMessageStoreE(ptr noundef nonnull align 8 dereferenceable(121) %76, ptr noundef nonnull align 8 dereferenceable(72) @_ZN2ts11DiagnosticsL17Invalid_characterE)
  invoke void @_ZN3ptrIN2ts4data17DiagnosticMessageEEC2ERKS2_(ptr noundef nonnull align 8 dereferenceable(16) %75, ptr noundef nonnull align 8 dereferenceable(121) %76)
          to label %1296 unwind label %1303

1296:                                             ; preds = %1295
  call void @llvm.lifetime.start.p0(i64 1, ptr %78) #5
  call void @_ZNSaIwEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %78) #5
  invoke void @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2IS3_EEPKwRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %77, ptr noundef @.str.6452, ptr noundef nonnull align 1 dereferenceable(1) %78)
          to label %1297 unwind label %1307

1297:                                             ; preds = %1296
  invoke void @_ZN2ts7Scanner5errorE3ptrINS_4data17DiagnosticMessageEEiiNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEE(ptr noundef nonnull align 8 dereferenceable(176) %104, ptr noundef %75, i32 noundef -1, i32 noundef 0, ptr noundef %77)
          to label %1298 unwind label %1311

1298:                                             ; preds = %1297
  call void @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %77) #5
  call void @_ZNSt15__new_allocatorIwED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %78) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %78) #5
  call void @_ZN3ptrIN2ts4data17DiagnosticMessageEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %75) #5
  call void @_ZN2ts4data17DiagnosticMessageD2Ev(ptr noundef nonnull align 8 dereferenceable(121) %76) #5
  call void @llvm.lifetime.end.p0(i64 128, ptr %76) #5
  %1299 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %1300 = load i32, ptr %1299, align 8, !tbaa !9
  %1301 = add nsw i32 %1300, 1
  store i32 %1301, ptr %1299, align 8, !tbaa !9
  %1302 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 9
  store i32 0, ptr %1302, align 8, !tbaa !34
  store i32 0, ptr %2, align 4
  store i32 1, ptr %5, align 4
  br label %1317

1303:                                             ; preds = %1295
  %1304 = landingpad { ptr, i32 }
          cleanup
  %1305 = extractvalue { ptr, i32 } %1304, 0
  store ptr %1305, ptr %9, align 8
  %1306 = extractvalue { ptr, i32 } %1304, 1
  store i32 %1306, ptr %10, align 4
  br label %1316

1307:                                             ; preds = %1296
  %1308 = landingpad { ptr, i32 }
          cleanup
  %1309 = extractvalue { ptr, i32 } %1308, 0
  store ptr %1309, ptr %9, align 8
  %1310 = extractvalue { ptr, i32 } %1308, 1
  store i32 %1310, ptr %10, align 4
  br label %1315

1311:                                             ; preds = %1297
  %1312 = landingpad { ptr, i32 }
          cleanup
  %1313 = extractvalue { ptr, i32 } %1312, 0
  store ptr %1313, ptr %9, align 8
  %1314 = extractvalue { ptr, i32 } %1312, 1
  store i32 %1314, ptr %10, align 4
  call void @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %77) #5
  br label %1315

1315:                                             ; preds = %1311, %1307
  call void @_ZNSt15__new_allocatorIwED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %78) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %78) #5
  call void @_ZN3ptrIN2ts4data17DiagnosticMessageEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %75) #5
  br label %1316

1316:                                             ; preds = %1315, %1303
  call void @_ZN2ts4data17DiagnosticMessageD2Ev(ptr noundef nonnull align 8 dereferenceable(121) %76) #5
  call void @llvm.lifetime.end.p0(i64 128, ptr %76) #5
  br label %1318

1317:                                             ; preds = %1298, %1276
  call void @llvm.lifetime.end.p0(i64 4, ptr %70) #5
  br label %1319

1318:                                             ; preds = %1316, %1294
  call void @llvm.lifetime.end.p0(i64 4, ptr %70) #5
  br label %1320

1319:                                             ; preds = %1317, %1244
  call void @llvm.lifetime.end.p0(i64 4, ptr %66) #5
  br label %1554

1320:                                             ; preds = %1318, %1257
  call void @llvm.lifetime.end.p0(i64 4, ptr %66) #5
  br label %1556

1321:                                             ; preds = %177
  %1322 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %1323 = load i32, ptr %1322, align 8, !tbaa !9
  %1324 = icmp ne i32 %1323, 0
  br i1 %1324, label %1325, label %1354

1325:                                             ; preds = %1321
  %1326 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 4
  %1327 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %1328 = load i32, ptr %1327, align 8, !tbaa !9
  %1329 = add nsw i32 %1328, 1
  %1330 = call noundef i32 @_ZN2ts11safe_stringixEi(ptr noundef nonnull align 8 dereferenceable(32) %1326, i32 noundef %1329)
  %1331 = icmp eq i32 %1330, 33
  br i1 %1331, label %1332, label %1354

1332:                                             ; preds = %1325
  call void @llvm.lifetime.start.p0(i64 128, ptr %80) #5
  call void @_ZN2ts4data17DiagnosticMessageC2ERNS_22DiagnosticMessageStoreE(ptr noundef nonnull align 8 dereferenceable(121) %80, ptr noundef nonnull align 8 dereferenceable(72) @_ZN2ts11DiagnosticsL39can_only_be_used_at_the_start_of_a_fileE)
  invoke void @_ZN3ptrIN2ts4data17DiagnosticMessageEEC2ERKS2_(ptr noundef nonnull align 8 dereferenceable(16) %79, ptr noundef nonnull align 8 dereferenceable(121) %80)
          to label %1333 unwind label %1340

1333:                                             ; preds = %1332
  call void @llvm.lifetime.start.p0(i64 1, ptr %82) #5
  call void @_ZNSaIwEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %82) #5
  invoke void @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2IS3_EEPKwRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %81, ptr noundef @.str.6452, ptr noundef nonnull align 1 dereferenceable(1) %82)
          to label %1334 unwind label %1344

1334:                                             ; preds = %1333
  invoke void @_ZN2ts7Scanner5errorE3ptrINS_4data17DiagnosticMessageEEiiNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEE(ptr noundef nonnull align 8 dereferenceable(176) %104, ptr noundef %79, i32 noundef -1, i32 noundef 0, ptr noundef %81)
          to label %1335 unwind label %1348

1335:                                             ; preds = %1334
  call void @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %81) #5
  call void @_ZNSt15__new_allocatorIwED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %82) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %82) #5
  call void @_ZN3ptrIN2ts4data17DiagnosticMessageEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %79) #5
  call void @_ZN2ts4data17DiagnosticMessageD2Ev(ptr noundef nonnull align 8 dereferenceable(121) %80) #5
  call void @llvm.lifetime.end.p0(i64 128, ptr %80) #5
  %1336 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %1337 = load i32, ptr %1336, align 8, !tbaa !9
  %1338 = add nsw i32 %1337, 1
  store i32 %1338, ptr %1336, align 8, !tbaa !9
  %1339 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 9
  store i32 0, ptr %1339, align 8, !tbaa !34
  store i32 0, ptr %2, align 4
  store i32 1, ptr %5, align 4
  br label %1554

1340:                                             ; preds = %1332
  %1341 = landingpad { ptr, i32 }
          cleanup
  %1342 = extractvalue { ptr, i32 } %1341, 0
  store ptr %1342, ptr %9, align 8
  %1343 = extractvalue { ptr, i32 } %1341, 1
  store i32 %1343, ptr %10, align 4
  br label %1353

1344:                                             ; preds = %1333
  %1345 = landingpad { ptr, i32 }
          cleanup
  %1346 = extractvalue { ptr, i32 } %1345, 0
  store ptr %1346, ptr %9, align 8
  %1347 = extractvalue { ptr, i32 } %1345, 1
  store i32 %1347, ptr %10, align 4
  br label %1352

1348:                                             ; preds = %1334
  %1349 = landingpad { ptr, i32 }
          cleanup
  %1350 = extractvalue { ptr, i32 } %1349, 0
  store ptr %1350, ptr %9, align 8
  %1351 = extractvalue { ptr, i32 } %1349, 1
  store i32 %1351, ptr %10, align 4
  call void @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %81) #5
  br label %1352

1352:                                             ; preds = %1348, %1344
  call void @_ZNSt15__new_allocatorIwED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %82) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %82) #5
  call void @_ZN3ptrIN2ts4data17DiagnosticMessageEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %79) #5
  br label %1353

1353:                                             ; preds = %1352, %1340
  call void @_ZN2ts4data17DiagnosticMessageD2Ev(ptr noundef nonnull align 8 dereferenceable(121) %80) #5
  call void @llvm.lifetime.end.p0(i64 128, ptr %80) #5
  br label %1556

1354:                                             ; preds = %1325, %1321
  call void @llvm.lifetime.start.p0(i64 4, ptr %83) #5
  %1355 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 4
  %1356 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %1357 = load i32, ptr %1356, align 8, !tbaa !9
  %1358 = add nsw i32 %1357, 1
  %1359 = call noundef i32 @_ZN2ts7Scanner11codePointAtERNS_11safe_stringEi(ptr noundef nonnull align 8 dereferenceable(176) %104, ptr noundef nonnull align 8 dereferenceable(32) %1355, i32 noundef %1358)
  store i32 %1359, ptr %83, align 4, !tbaa !35
  %1360 = load i32, ptr %83, align 4, !tbaa !35
  %1361 = icmp eq i32 %1360, 92
  br i1 %1361, label %1362, label %1445

1362:                                             ; preds = %1354
  %1363 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %1364 = load i32, ptr %1363, align 8, !tbaa !9
  %1365 = add nsw i32 %1364, 1
  store i32 %1365, ptr %1363, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 4, ptr %84) #5
  %1366 = call noundef i32 @_ZN2ts7Scanner25peekExtendedUnicodeEscapeEv(ptr noundef nonnull align 8 dereferenceable(176) %104)
  store i32 %1366, ptr %84, align 4, !tbaa !35
  %1367 = load i32, ptr %84, align 4, !tbaa !35
  %1368 = icmp sge i32 %1367, 0
  br i1 %1368, label %1369, label %1400

1369:                                             ; preds = %1362
  %1370 = load i32, ptr %84, align 4, !tbaa !35
  %1371 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 1
  %1372 = load i32, ptr %1371, align 4, !tbaa !49
  %1373 = call noundef zeroext i1 @_ZN2ts7Scanner17isIdentifierStartE14CharacterCodesNS_12ScriptTargetE(ptr noundef nonnull align 8 dereferenceable(176) %104, i32 noundef %1370, i32 noundef %1372)
  br i1 %1373, label %1374, label %1400

1374:                                             ; preds = %1369
  %1375 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %1376 = load i32, ptr %1375, align 8, !tbaa !9
  %1377 = add nsw i32 %1376, 3
  store i32 %1377, ptr %1375, align 8, !tbaa !9
  %1378 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 11
  %1379 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN2tsoRERNS_10TokenFlagsES0_(ptr noundef nonnull align 4 dereferenceable(4) %1378, i32 noundef 8)
  call void @llvm.lifetime.start.p0(i64 32, ptr %85) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr %86) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr %87) #5
  call void @_ZN2ts7Scanner25scanExtendedUnicodeEscapeB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %87, ptr noundef nonnull align 8 dereferenceable(176) %104)
  invoke void @_ZStplIwSt11char_traitsIwESaIwEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %86, ptr noundef @.str.6469, ptr noundef nonnull align 8 dereferenceable(32) %87)
          to label %1380 unwind label %1386

1380:                                             ; preds = %1374
  call void @llvm.lifetime.start.p0(i64 32, ptr %88) #5
  invoke void @_ZN2ts7Scanner19scanIdentifierPartsB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %88, ptr noundef nonnull align 8 dereferenceable(176) %104)
          to label %1381 unwind label %1390

1381:                                             ; preds = %1380
  invoke void @_ZStplIwSt11char_traitsIwESaIwEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %85, ptr noundef nonnull align 8 dereferenceable(32) %86, ptr noundef nonnull align 8 dereferenceable(32) %88)
          to label %1382 unwind label %1394

1382:                                             ; preds = %1381
  %1383 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 10
  %1384 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEaSEOS4_(ptr noundef nonnull align 8 dereferenceable(32) %1383, ptr noundef nonnull align 8 dereferenceable(32) %85) #5
  call void @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %85) #5
  call void @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %88) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %88) #5
  call void @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %86) #5
  call void @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %87) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %87) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %86) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %85) #5
  %1385 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 9
  store i32 81, ptr %1385, align 8, !tbaa !34
  store i32 81, ptr %2, align 4
  store i32 1, ptr %5, align 4
  br label %1441

1386:                                             ; preds = %1374
  %1387 = landingpad { ptr, i32 }
          cleanup
  %1388 = extractvalue { ptr, i32 } %1387, 0
  store ptr %1388, ptr %9, align 8
  %1389 = extractvalue { ptr, i32 } %1387, 1
  store i32 %1389, ptr %10, align 4
  br label %1399

1390:                                             ; preds = %1380
  %1391 = landingpad { ptr, i32 }
          cleanup
  %1392 = extractvalue { ptr, i32 } %1391, 0
  store ptr %1392, ptr %9, align 8
  %1393 = extractvalue { ptr, i32 } %1391, 1
  store i32 %1393, ptr %10, align 4
  br label %1398

1394:                                             ; preds = %1381
  %1395 = landingpad { ptr, i32 }
          cleanup
  %1396 = extractvalue { ptr, i32 } %1395, 0
  store ptr %1396, ptr %9, align 8
  %1397 = extractvalue { ptr, i32 } %1395, 1
  store i32 %1397, ptr %10, align 4
  call void @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %88) #5
  br label %1398

1398:                                             ; preds = %1394, %1390
  call void @llvm.lifetime.end.p0(i64 32, ptr %88) #5
  call void @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %86) #5
  br label %1399

1399:                                             ; preds = %1398, %1386
  call void @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %87) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %87) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %86) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %85) #5
  br label %1444

1400:                                             ; preds = %1369, %1362
  call void @llvm.lifetime.start.p0(i64 4, ptr %89) #5
  %1401 = call noundef i32 @_ZN2ts7Scanner17peekUnicodeEscapeEv(ptr noundef nonnull align 8 dereferenceable(176) %104)
  store i32 %1401, ptr %89, align 4, !tbaa !35
  %1402 = load i32, ptr %89, align 4, !tbaa !35
  %1403 = icmp sge i32 %1402, 0
  br i1 %1403, label %1404, label %1436

1404:                                             ; preds = %1400
  %1405 = load i32, ptr %89, align 4, !tbaa !35
  %1406 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 1
  %1407 = load i32, ptr %1406, align 4, !tbaa !49
  %1408 = call noundef zeroext i1 @_ZN2ts7Scanner17isIdentifierStartE14CharacterCodesNS_12ScriptTargetE(ptr noundef nonnull align 8 dereferenceable(176) %104, i32 noundef %1405, i32 noundef %1407)
  br i1 %1408, label %1409, label %1436

1409:                                             ; preds = %1404
  %1410 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %1411 = load i32, ptr %1410, align 8, !tbaa !9
  %1412 = add nsw i32 %1411, 6
  store i32 %1412, ptr %1410, align 8, !tbaa !9
  %1413 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 11
  %1414 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN2tsoRERNS_10TokenFlagsES0_(ptr noundef nonnull align 4 dereferenceable(4) %1413, i32 noundef 1024)
  call void @llvm.lifetime.start.p0(i64 32, ptr %90) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr %91) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr %92) #5
  %1415 = load i32, ptr %89, align 4, !tbaa !35
  call void @_ZN2ts12fromCharCodeB5cxx11Ew(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %92, i32 noundef signext %1415)
  invoke void @_ZStplIwSt11char_traitsIwESaIwEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %91, ptr noundef @.str.6469, ptr noundef nonnull align 8 dereferenceable(32) %92)
          to label %1416 unwind label %1422

1416:                                             ; preds = %1409
  call void @llvm.lifetime.start.p0(i64 32, ptr %93) #5
  invoke void @_ZN2ts7Scanner19scanIdentifierPartsB5cxx11Ev(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %93, ptr noundef nonnull align 8 dereferenceable(176) %104)
          to label %1417 unwind label %1426

1417:                                             ; preds = %1416
  invoke void @_ZStplIwSt11char_traitsIwESaIwEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind writable sret(%"class.std::__cxx11::basic_string") align 8 %90, ptr noundef nonnull align 8 dereferenceable(32) %91, ptr noundef nonnull align 8 dereferenceable(32) %93)
          to label %1418 unwind label %1430

1418:                                             ; preds = %1417
  %1419 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 10
  %1420 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEaSEOS4_(ptr noundef nonnull align 8 dereferenceable(32) %1419, ptr noundef nonnull align 8 dereferenceable(32) %90) #5
  call void @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %90) #5
  call void @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %93) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %93) #5
  call void @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %91) #5
  call void @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %92) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %92) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %91) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %90) #5
  %1421 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 9
  store i32 81, ptr %1421, align 8, !tbaa !34
  store i32 81, ptr %2, align 4
  store i32 1, ptr %5, align 4
  br label %1440

1422:                                             ; preds = %1409
  %1423 = landingpad { ptr, i32 }
          cleanup
  %1424 = extractvalue { ptr, i32 } %1423, 0
  store ptr %1424, ptr %9, align 8
  %1425 = extractvalue { ptr, i32 } %1423, 1
  store i32 %1425, ptr %10, align 4
  br label %1435

1426:                                             ; preds = %1416
  %1427 = landingpad { ptr, i32 }
          cleanup
  %1428 = extractvalue { ptr, i32 } %1427, 0
  store ptr %1428, ptr %9, align 8
  %1429 = extractvalue { ptr, i32 } %1427, 1
  store i32 %1429, ptr %10, align 4
  br label %1434

1430:                                             ; preds = %1417
  %1431 = landingpad { ptr, i32 }
          cleanup
  %1432 = extractvalue { ptr, i32 } %1431, 0
  store ptr %1432, ptr %9, align 8
  %1433 = extractvalue { ptr, i32 } %1431, 1
  store i32 %1433, ptr %10, align 4
  call void @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %93) #5
  br label %1434

1434:                                             ; preds = %1430, %1426
  call void @llvm.lifetime.end.p0(i64 32, ptr %93) #5
  call void @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %91) #5
  br label %1435

1435:                                             ; preds = %1434, %1422
  call void @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %92) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %92) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %91) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr %90) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %89) #5
  br label %1444

1436:                                             ; preds = %1404, %1400
  %1437 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %1438 = load i32, ptr %1437, align 8, !tbaa !9
  %1439 = add nsw i32 %1438, -1
  store i32 %1439, ptr %1437, align 8, !tbaa !9
  store i32 0, ptr %5, align 4
  br label %1440

1440:                                             ; preds = %1436, %1418
  call void @llvm.lifetime.end.p0(i64 4, ptr %89) #5
  br label %1441

1441:                                             ; preds = %1440, %1382
  call void @llvm.lifetime.end.p0(i64 4, ptr %84) #5
  %1442 = load i32, ptr %5, align 4
  switch i32 %1442, label %1491 [
    i32 0, label %1443
  ]

1443:                                             ; preds = %1441
  br label %1445

1444:                                             ; preds = %1435, %1399
  call void @llvm.lifetime.end.p0(i64 4, ptr %84) #5
  br label %1492

1445:                                             ; preds = %1443, %1354
  %1446 = load i32, ptr %83, align 4, !tbaa !35
  %1447 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 1
  %1448 = load i32, ptr %1447, align 4, !tbaa !49
  %1449 = call noundef zeroext i1 @_ZN2ts7Scanner17isIdentifierStartE14CharacterCodesNS_12ScriptTargetE(ptr noundef nonnull align 8 dereferenceable(176) %104, i32 noundef %1446, i32 noundef %1448)
  br i1 %1449, label %1450, label %1458

1450:                                             ; preds = %1445
  %1451 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %1452 = load i32, ptr %1451, align 8, !tbaa !9
  %1453 = add nsw i32 %1452, 1
  store i32 %1453, ptr %1451, align 8, !tbaa !9
  %1454 = load i32, ptr %83, align 4, !tbaa !35
  %1455 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 1
  %1456 = load i32, ptr %1455, align 4, !tbaa !49
  %1457 = call noundef i32 @_ZN2ts7Scanner14scanIdentifierE14CharacterCodesNS_12ScriptTargetE(ptr noundef nonnull align 8 dereferenceable(176) %104, i32 noundef %1454, i32 noundef %1456)
  br label %1489

1458:                                             ; preds = %1445
  %1459 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 10
  %1460 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEaSEPKw(ptr noundef nonnull align 8 dereferenceable(32) %1459, ptr noundef @.str.6469)
  call void @llvm.lifetime.start.p0(i64 128, ptr %95) #5
  call void @_ZN2ts4data17DiagnosticMessageC2ERNS_22DiagnosticMessageStoreE(ptr noundef nonnull align 8 dereferenceable(121) %95, ptr noundef nonnull align 8 dereferenceable(72) @_ZN2ts11DiagnosticsL17Invalid_characterE)
  invoke void @_ZN3ptrIN2ts4data17DiagnosticMessageEEC2ERKS2_(ptr noundef nonnull align 8 dereferenceable(16) %94, ptr noundef nonnull align 8 dereferenceable(121) %95)
          to label %1461 unwind label %1470

1461:                                             ; preds = %1458
  %1462 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %1463 = load i32, ptr %1462, align 8, !tbaa !9
  %1464 = add nsw i32 %1463, 1
  store i32 %1464, ptr %1462, align 8, !tbaa !9
  %1465 = load i32, ptr %6, align 4, !tbaa !35
  %1466 = invoke noundef i32 @_ZN2ts7Scanner8charSizeE14CharacterCodes(ptr noundef nonnull align 8 dereferenceable(176) %104, i32 noundef %1465)
          to label %1467 unwind label %1474

1467:                                             ; preds = %1461
  call void @llvm.lifetime.start.p0(i64 1, ptr %97) #5
  call void @_ZNSaIwEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %97) #5
  invoke void @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2IS3_EEPKwRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %96, ptr noundef @.str.6452, ptr noundef nonnull align 1 dereferenceable(1) %97)
          to label %1468 unwind label %1478

1468:                                             ; preds = %1467
  invoke void @_ZN2ts7Scanner5errorE3ptrINS_4data17DiagnosticMessageEEiiNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEE(ptr noundef nonnull align 8 dereferenceable(176) %104, ptr noundef %94, i32 noundef %1463, i32 noundef %1466, ptr noundef %96)
          to label %1469 unwind label %1482

1469:                                             ; preds = %1468
  call void @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %96) #5
  call void @_ZNSt15__new_allocatorIwED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %97) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %97) #5
  call void @_ZN3ptrIN2ts4data17DiagnosticMessageEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %94) #5
  call void @_ZN2ts4data17DiagnosticMessageD2Ev(ptr noundef nonnull align 8 dereferenceable(121) %95) #5
  call void @llvm.lifetime.end.p0(i64 128, ptr %95) #5
  br label %1489

1470:                                             ; preds = %1458
  %1471 = landingpad { ptr, i32 }
          cleanup
  %1472 = extractvalue { ptr, i32 } %1471, 0
  store ptr %1472, ptr %9, align 8
  %1473 = extractvalue { ptr, i32 } %1471, 1
  store i32 %1473, ptr %10, align 4
  br label %1488

1474:                                             ; preds = %1461
  %1475 = landingpad { ptr, i32 }
          cleanup
  %1476 = extractvalue { ptr, i32 } %1475, 0
  store ptr %1476, ptr %9, align 8
  %1477 = extractvalue { ptr, i32 } %1475, 1
  store i32 %1477, ptr %10, align 4
  br label %1487

1478:                                             ; preds = %1467
  %1479 = landingpad { ptr, i32 }
          cleanup
  %1480 = extractvalue { ptr, i32 } %1479, 0
  store ptr %1480, ptr %9, align 8
  %1481 = extractvalue { ptr, i32 } %1479, 1
  store i32 %1481, ptr %10, align 4
  br label %1486

1482:                                             ; preds = %1468
  %1483 = landingpad { ptr, i32 }
          cleanup
  %1484 = extractvalue { ptr, i32 } %1483, 0
  store ptr %1484, ptr %9, align 8
  %1485 = extractvalue { ptr, i32 } %1483, 1
  store i32 %1485, ptr %10, align 4
  call void @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %96) #5
  br label %1486

1486:                                             ; preds = %1482, %1478
  call void @_ZNSt15__new_allocatorIwED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %97) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %97) #5
  br label %1487

1487:                                             ; preds = %1486, %1474
  call void @_ZN3ptrIN2ts4data17DiagnosticMessageEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %94) #5
  br label %1488

1488:                                             ; preds = %1487, %1470
  call void @_ZN2ts4data17DiagnosticMessageD2Ev(ptr noundef nonnull align 8 dereferenceable(121) %95) #5
  call void @llvm.lifetime.end.p0(i64 128, ptr %95) #5
  br label %1492

1489:                                             ; preds = %1469, %1450
  %1490 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 9
  store i32 81, ptr %1490, align 8, !tbaa !34
  store i32 81, ptr %2, align 4
  store i32 1, ptr %5, align 4
  br label %1491

1491:                                             ; preds = %1489, %1441
  call void @llvm.lifetime.end.p0(i64 4, ptr %83) #5
  br label %1554

1492:                                             ; preds = %1488, %1444
  call void @llvm.lifetime.end.p0(i64 4, ptr %83) #5
  br label %1556

1493:                                             ; preds = %177
  call void @llvm.lifetime.start.p0(i64 4, ptr %98) #5
  %1494 = load i32, ptr %6, align 4, !tbaa !35
  %1495 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 1
  %1496 = load i32, ptr %1495, align 4, !tbaa !49
  %1497 = call noundef i32 @_ZN2ts7Scanner14scanIdentifierE14CharacterCodesNS_12ScriptTargetE(ptr noundef nonnull align 8 dereferenceable(176) %104, i32 noundef %1494, i32 noundef %1496)
  store i32 %1497, ptr %98, align 4, !tbaa !50
  %1498 = load i32, ptr %98, align 4, !tbaa !50
  %1499 = icmp ne i32 %1498, 0
  br i1 %1499, label %1500, label %1503

1500:                                             ; preds = %1493
  %1501 = load i32, ptr %98, align 4, !tbaa !50
  %1502 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 9
  store i32 %1501, ptr %1502, align 8, !tbaa !34
  store i32 %1501, ptr %2, align 4
  store i32 1, ptr %5, align 4
  br label %1553

1503:                                             ; preds = %1493
  %1504 = load i32, ptr %6, align 4, !tbaa !35
  %1505 = call noundef zeroext i1 @_ZN2ts7Scanner22isWhiteSpaceSingleLineE14CharacterCodes(ptr noundef nonnull align 8 dereferenceable(176) %104, i32 noundef %1504)
  br i1 %1505, label %1506, label %1512

1506:                                             ; preds = %1503
  %1507 = load i32, ptr %6, align 4, !tbaa !35
  %1508 = call noundef i32 @_ZN2ts7Scanner8charSizeE14CharacterCodes(ptr noundef nonnull align 8 dereferenceable(176) %104, i32 noundef %1507)
  %1509 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %1510 = load i32, ptr %1509, align 8, !tbaa !9
  %1511 = add nsw i32 %1510, %1508
  store i32 %1511, ptr %1509, align 8, !tbaa !9
  store i32 2, ptr %5, align 4
  br label %1553, !llvm.loop !40

1512:                                             ; preds = %1503
  %1513 = load i32, ptr %6, align 4, !tbaa !35
  %1514 = call noundef zeroext i1 @_ZN2ts7Scanner11isLineBreakE14CharacterCodes(ptr noundef nonnull align 8 dereferenceable(176) %104, i32 noundef %1513)
  br i1 %1514, label %1515, label %1523

1515:                                             ; preds = %1512
  %1516 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 11
  %1517 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN2tsoRERNS_10TokenFlagsES0_(ptr noundef nonnull align 4 dereferenceable(4) %1516, i32 noundef 1)
  %1518 = load i32, ptr %6, align 4, !tbaa !35
  %1519 = call noundef i32 @_ZN2ts7Scanner8charSizeE14CharacterCodes(ptr noundef nonnull align 8 dereferenceable(176) %104, i32 noundef %1518)
  %1520 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %1521 = load i32, ptr %1520, align 8, !tbaa !9
  %1522 = add nsw i32 %1521, %1519
  store i32 %1522, ptr %1520, align 8, !tbaa !9
  store i32 2, ptr %5, align 4
  br label %1553, !llvm.loop !40

1523:                                             ; preds = %1512
  br label %1524

1524:                                             ; preds = %1523
  br label %1525

1525:                                             ; preds = %1524
  call void @llvm.lifetime.start.p0(i64 4, ptr %99) #5
  %1526 = load i32, ptr %6, align 4, !tbaa !35
  %1527 = call noundef i32 @_ZN2ts7Scanner8charSizeE14CharacterCodes(ptr noundef nonnull align 8 dereferenceable(176) %104, i32 noundef %1526)
  store i32 %1527, ptr %99, align 4, !tbaa !45
  call void @llvm.lifetime.start.p0(i64 128, ptr %101) #5
  call void @_ZN2ts4data17DiagnosticMessageC2ERNS_22DiagnosticMessageStoreE(ptr noundef nonnull align 8 dereferenceable(121) %101, ptr noundef nonnull align 8 dereferenceable(72) @_ZN2ts11DiagnosticsL17Invalid_characterE)
  invoke void @_ZN3ptrIN2ts4data17DiagnosticMessageEEC2ERKS2_(ptr noundef nonnull align 8 dereferenceable(16) %100, ptr noundef nonnull align 8 dereferenceable(121) %101)
          to label %1528 unwind label %1539

1528:                                             ; preds = %1525
  %1529 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %1530 = load i32, ptr %1529, align 8, !tbaa !9
  %1531 = load i32, ptr %99, align 4, !tbaa !45
  call void @llvm.lifetime.start.p0(i64 1, ptr %103) #5
  call void @_ZNSaIwEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %103) #5
  invoke void @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2IS3_EEPKwRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %102, ptr noundef @.str.6452, ptr noundef nonnull align 1 dereferenceable(1) %103)
          to label %1532 unwind label %1543

1532:                                             ; preds = %1528
  invoke void @_ZN2ts7Scanner5errorE3ptrINS_4data17DiagnosticMessageEEiiNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEE(ptr noundef nonnull align 8 dereferenceable(176) %104, ptr noundef %100, i32 noundef %1530, i32 noundef %1531, ptr noundef %102)
          to label %1533 unwind label %1547

1533:                                             ; preds = %1532
  call void @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %102) #5
  call void @_ZNSt15__new_allocatorIwED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %103) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %103) #5
  call void @_ZN3ptrIN2ts4data17DiagnosticMessageEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %100) #5
  call void @_ZN2ts4data17DiagnosticMessageD2Ev(ptr noundef nonnull align 8 dereferenceable(121) %101) #5
  call void @llvm.lifetime.end.p0(i64 128, ptr %101) #5
  %1534 = load i32, ptr %99, align 4, !tbaa !45
  %1535 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 5
  %1536 = load i32, ptr %1535, align 8, !tbaa !9
  %1537 = add nsw i32 %1536, %1534
  store i32 %1537, ptr %1535, align 8, !tbaa !9
  %1538 = getelementptr inbounds %"class.ts::Scanner", ptr %104, i32 0, i32 9
  store i32 0, ptr %1538, align 8, !tbaa !34
  store i32 0, ptr %2, align 4
  store i32 1, ptr %5, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %99) #5
  br label %1553

1539:                                             ; preds = %1525
  %1540 = landingpad { ptr, i32 }
          cleanup
  %1541 = extractvalue { ptr, i32 } %1540, 0
  store ptr %1541, ptr %9, align 8
  %1542 = extractvalue { ptr, i32 } %1540, 1
  store i32 %1542, ptr %10, align 4
  br label %1552

1543:                                             ; preds = %1528
  %1544 = landingpad { ptr, i32 }
          cleanup
  %1545 = extractvalue { ptr, i32 } %1544, 0
  store ptr %1545, ptr %9, align 8
  %1546 = extractvalue { ptr, i32 } %1544, 1
  store i32 %1546, ptr %10, align 4
  br label %1551

1547:                                             ; preds = %1532
  %1548 = landingpad { ptr, i32 }
          cleanup
  %1549 = extractvalue { ptr, i32 } %1548, 0
  store ptr %1549, ptr %9, align 8
  %1550 = extractvalue { ptr, i32 } %1548, 1
  store i32 %1550, ptr %10, align 4
  call void @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %102) #5
  br label %1551

1551:                                             ; preds = %1547, %1543
  call void @_ZNSt15__new_allocatorIwED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %103) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %103) #5
  call void @_ZN3ptrIN2ts4data17DiagnosticMessageEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %100) #5
  br label %1552

1552:                                             ; preds = %1551, %1539
  call void @_ZN2ts4data17DiagnosticMessageD2Ev(ptr noundef nonnull align 8 dereferenceable(121) %101) #5
  call void @llvm.lifetime.end.p0(i64 128, ptr %101) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %99) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %98) #5
  br label %1556

1553:                                             ; preds = %1533, %1515, %1506, %1500
  call void @llvm.lifetime.end.p0(i64 4, ptr %98) #5
  br label %1554

1554:                                             ; preds = %1553, %1491, %1335, %1319, %1223, %1218, %1213, %1208, %1203, %1191, %1186, %1170, %1165, %1145, %1140, %1135, %1123, %1118, %1113, %1108, %1103, %1084, %1065, %1063, %1058, %1038, %1033, %1021, %1016, %1000, %995, %975, %970, %947, %935, %930, %914, %909, %889, %884, %881, %870, %813, %756, %702, %697, %688, %556, %546, %495, %490, %473, %461, %456, %444, %432, %427, %422, %410, %401, %400, %380, %375, %356, %344, %339, %334, %329, %317, %312, %293, %288, %278, %274, %269, %264, %259, %243, %220, %214, %185, %174, %173, %135
  call void @llvm.lifetime.end.p0(i64 4, ptr %6) #5
  %1555 = load i32, ptr %5, align 4
  switch i32 %1555, label %1557 [
    i32 2, label %109
  ]

1556:                                             ; preds = %1552, %1492, %1353, %1320, %1166, %1059, %996, %910, %869, %812, %755, %689, %555, %153
  call void @llvm.lifetime.end.p0(i64 4, ptr %6) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr %4) #5
  br label %1559

1557:                                             ; preds = %1554, %119
  call void @llvm.lifetime.end.p0(i64 1, ptr %4) #5
  %1558 = load i32, ptr %2, align 4
  ret i32 %1558

1559:                                             ; preds = %1556
  %1560 = load ptr, ptr %9, align 8
  %1561 = load i32, ptr %10, align 4
  %1562 = insertvalue { ptr, i32 } poison, ptr %1560, 0
  %1563 = insertvalue { ptr, i32 } %1562, i32 %1561, 1
  resume { ptr, i32 } %1563

1564:                                             ; preds = %622
  unreachable
}

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN2ts7Scanner24appendIfCommentDirectiveESt6vectorI3ptrINS_4data16CommentDirectiveEESaIS5_EENSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEENS8_11basic_regexIwNS8_12regex_traitsIwEEEENS_8pos_typeE(ptr dead_on_unwind noalias writable sret(%"class.std::vector.41") align 8, ptr noundef nonnull align 8 dereferenceable(176), ptr noundef, ptr noundef, ptr noundef, i64) #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNSt6vectorI3ptrIN2ts4data16CommentDirectiveEESaIS4_EEC2ERKS6_(ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24)) unnamed_addr #2 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZNSt7__cxx1111basic_regexIwNS_12regex_traitsIwEEEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(32)) unnamed_addr #1 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN2ts8pos_typeC2Ei(ptr noundef nonnull align 4 dereferenceable(8), i32 noundef) unnamed_addr #1 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorI3ptrIN2ts4data16CommentDirectiveEESaIS4_EEaSEOS6_(ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24)) #1 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZN2ts7Scanner16shouldParseJSDocEv(ptr noundef nonnull align 8 dereferenceable(176)) #2 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZSt4bindIMN2ts7ScannerEFv3ptrINS0_4data17DiagnosticMessageEEiiNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEEJPS1_RKSt12_PlaceholderILi1EERKSF_ILi2EERKSF_ILi3EERKSF_ILi4EEEENSt12_Bind_helperIXsr15__is_socketlikeIT_EE5valueEST_JDpT0_EE4typeEOST_DpOSU_(ptr dead_on_unwind noalias writable sret(%"class.std::_Bind.147") align 8, ptr noundef nonnull align 8 dereferenceable(16), ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 1 dereferenceable(1), ptr noundef nonnull align 1 dereferenceable(1), ptr noundef nonnull align 1 dereferenceable(1), ptr noundef nonnull align 1 dereferenceable(1)) #4

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNSt8functionIFv3ptrIN2ts4data17DiagnosticMessageEEiiNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEEEC2ISt5_BindIFMNS1_7ScannerEFvS4_iiSA_EPSF_St12_PlaceholderILi1EESJ_ILi2EESJ_ILi3EESJ_ILi4EEEEvEEOT_(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(24)) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef i32 @_ZN2ts7Scanner14scanIdentifierE14CharacterCodesNS_12ScriptTargetE(ptr noundef nonnull align 8 dereferenceable(176), i32 noundef, i32 noundef) #2 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(24)) unnamed_addr #1 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZNSt15__new_allocatorIwED2Ev(ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #1 align 2

attributes #0 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #1 = { mustprogress nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #2 = { mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #3 = { inlinehint mustprogress nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #4 = { inlinehint mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { nounwind }

!llvm.module.flags = !{!0, !1, !2, !3}
!llvm.ident = !{!4}

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"any pointer", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C++ TBAA"}
!9 = !{!10, !19, i64 48}
!10 = !{!"_ZTSN2ts7ScannerE", !11, i64 0, !12, i64 4, !13, i64 8, !14, i64 12, !15, i64 16, !19, i64 48, !19, i64 52, !19, i64 56, !19, i64 60, !20, i64 64, !16, i64 72, !21, i64 104, !22, i64 112, !19, i64 136, !26, i64 140, !27, i64 144}
!11 = !{!"_ZTSN2ts10ScriptKindE", !7, i64 0}
!12 = !{!"_ZTSN2ts12ScriptTargetE", !7, i64 0}
!13 = !{!"bool", !7, i64 0}
!14 = !{!"_ZTSN2ts15LanguageVariantE", !7, i64 0}
!15 = !{!"_ZTSN2ts11safe_stringE", !16, i64 0}
!16 = !{!"_ZTSNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEE", !17, i64 0, !18, i64 8, !7, i64 16}
!17 = !{!"_ZTSNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_Alloc_hiderE", !6, i64 0}
!18 = !{!"long", !7, i64 0}
!19 = !{!"int", !7, i64 0}
!20 = !{!"_ZTS10SyntaxKind", !7, i64 0}
!21 = !{!"_ZTSN2ts10TokenFlagsE", !7, i64 0}
!22 = !{!"_ZTSSt6vectorI3ptrIN2ts4data16CommentDirectiveEESaIS4_EE", !23, i64 0}
!23 = !{!"_ZTSSt12_Vector_baseI3ptrIN2ts4data16CommentDirectiveEESaIS4_EE", !24, i64 0}
!24 = !{!"_ZTSNSt12_Vector_baseI3ptrIN2ts4data16CommentDirectiveEESaIS4_EE12_Vector_implE", !25, i64 0}
!25 = !{!"_ZTSNSt12_Vector_baseI3ptrIN2ts4data16CommentDirectiveEESaIS4_EE17_Vector_impl_dataE", !6, i64 0, !6, i64 8, !6, i64 16}
!26 = !{!"_ZTSN2ts16JSDocParsingModeE", !7, i64 0}
!27 = !{!"_ZTSSt8functionIFv3ptrIN2ts4data17DiagnosticMessageEEiNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEEE", !28, i64 0, !6, i64 24}
!28 = !{!"_ZTSSt14_Function_base", !7, i64 0, !6, i64 16}
!29 = !{!10, !19, i64 56}
!30 = !{!10, !21, i64 104}
!31 = !{!13, !13, i64 0}
!32 = !{!10, !19, i64 60}
!33 = !{!10, !19, i64 52}
!34 = !{!10, !20, i64 64}
!35 = !{!36, !36, i64 0}
!36 = !{!"_ZTS14CharacterCodes", !7, i64 0}
!37 = !{!10, !13, i64 8}
!38 = !{i8 0, i8 2}
!39 = !{}
!40 = distinct !{!40, !41}
!41 = !{!"llvm.loop.mustprogress"}
!42 = distinct !{!42, !41}
!43 = !{!10, !19, i64 136}
!44 = distinct !{!44, !41}
!45 = !{!19, !19, i64 0}
!46 = distinct !{!46, !41}
!47 = !{!7, !7, i64 0}
!48 = !{!10, !14, i64 12}
!49 = !{!10, !12, i64 4}
!50 = !{!20, !20, i64 0}


; Optimized IR (opt -passes='default<O3>'):
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"

%"struct.ts::DiagnosticMessageStore" = type { i32, i32, %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string" }
%"class.std::__cxx11::basic_string" = type { %"struct.std::__cxx11::basic_string<wchar_t>::_Alloc_hider", i64, %union.anon }
%"struct.std::__cxx11::basic_string<wchar_t>::_Alloc_hider" = type { ptr }
%union.anon = type { i64, [8 x i8] }
%"class.std::__cxx11::basic_regex" = type { i32, %"class.std::locale", %"class.std::shared_ptr" }
%"class.std::locale" = type { ptr }
%"class.std::shared_ptr" = type { %"class.std::__shared_ptr" }
%"class.std::__shared_ptr" = type { ptr, %"class.std::__shared_count" }
%"class.std::__shared_count" = type { ptr }
%"struct.std::_Placeholder" = type { i8 }
%"struct.std::_Placeholder.139" = type { i8 }
%"struct.std::_Placeholder.140" = type { i8 }
%"struct.std::_Placeholder.141" = type { i8 }
%struct.ptr.100 = type { %"class.std::shared_ptr.101" }
%"class.std::shared_ptr.101" = type { %"class.std::__shared_ptr.102" }
%"class.std::__shared_ptr.102" = type { ptr, %"class.std::__shared_count" }
%"struct.ts::data::DiagnosticMessage" = type <{ i32, i32, %"class.std::__cxx11::basic_string", %"class.std::__cxx11::basic_string", %"class.std::vector.104", %"class.std::vector.104", i8, [7 x i8] }>
%"class.std::vector.104" = type { %"struct.std::_Vector_base.105" }
%"struct.std::_Vector_base.105" = type { %"struct.std::_Vector_base<std::__cxx11::basic_string<wchar_t>, std::allocator<std::__cxx11::basic_string<wchar_t>>>::_Vector_impl" }
%"struct.std::_Vector_base<std::__cxx11::basic_string<wchar_t>, std::allocator<std::__cxx11::basic_string<wchar_t>>>::_Vector_impl" = type { %"struct.std::_Vector_base<std::__cxx11::basic_string<wchar_t>, std::allocator<std::__cxx11::basic_string<wchar_t>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<std::__cxx11::basic_string<wchar_t>, std::allocator<std::__cxx11::basic_string<wchar_t>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"class.std::allocator.0" = type { i8 }
%"class.std::vector.41" = type { %"struct.std::_Vector_base.42" }
%"struct.std::_Vector_base.42" = type { %"struct.std::_Vector_base<ptr<ts::data::CommentDirective>, std::allocator<ptr<ts::data::CommentDirective>>>::_Vector_impl" }
%"struct.std::_Vector_base<ptr<ts::data::CommentDirective>, std::allocator<ptr<ts::data::CommentDirective>>>::_Vector_impl" = type { %"struct.std::_Vector_base<ptr<ts::data::CommentDirective>, std::allocator<ptr<ts::data::CommentDirective>>>::_Vector_impl_data" }
%"struct.std::_Vector_base<ptr<ts::data::CommentDirective>, std::allocator<ptr<ts::data::CommentDirective>>>::_Vector_impl_data" = type { ptr, ptr, ptr }
%"struct.ts::pos_type" = type { i32, i32 }
%"class.std::function.98" = type { %"class.std::_Function_base", ptr }
%"class.std::_Function_base" = type { %"union.std::_Any_data", ptr }
%"union.std::_Any_data" = type { %"union.std::_Nocopy_types" }
%"union.std::_Nocopy_types" = type { { i64, i64 } }
%"class.std::_Bind.147" = type { { i64, i64 }, %"class.std::tuple.150" }
%"class.std::tuple.150" = type { %"struct.std::_Tuple_impl.151" }
%"struct.std::_Tuple_impl.151" = type { %"struct.std::_Head_base.138" }
%"struct.std::_Head_base.138" = type { ptr }

@_ZN2ts11DiagnosticsL23Asterisk_Slash_expectedE = external hidden global %"struct.ts::DiagnosticMessageStore", align 8
@_ZN2ts11DiagnosticsL26Hexadecimal_digit_expectedE = external hidden global %"struct.ts::DiagnosticMessageStore", align 8
@_ZN2ts11DiagnosticsL17Invalid_characterE = external hidden global %"struct.ts::DiagnosticMessageStore", align 8
@_ZN2ts11DiagnosticsL21Binary_digit_expectedE = external hidden global %"struct.ts::DiagnosticMessageStore", align 8
@_ZN2ts11DiagnosticsL20Octal_digit_expectedE = external hidden global %"struct.ts::DiagnosticMessageStore", align 8
@_ZN2ts11DiagnosticsL25File_appears_to_be_binaryE = external hidden global %"struct.ts::DiagnosticMessageStore", align 8
@_ZN2ts11DiagnosticsL39can_only_be_used_at_the_start_of_a_fileE = external hidden global %"struct.ts::DiagnosticMessageStore", align 8
@_ZN2ts7Scanner31commentDirectiveRegExSingleLineB5cxx11E = external dso_local global %"class.std::__cxx11::basic_regex", align 8
@_ZN2ts7Scanner30commentDirectiveRegExMultiLineB5cxx11E = external dso_local global %"class.std::__cxx11::basic_regex", align 8
@_ZNSt12placeholders2_1E = external global %"struct.std::_Placeholder", align 1
@_ZNSt12placeholders2_2E = external global %"struct.std::_Placeholder.139", align 1
@_ZNSt12placeholders2_3E = external global %"struct.std::_Placeholder.140", align 1
@_ZNSt12placeholders2_4E = external global %"struct.std::_Placeholder.141", align 1
@.str.6452 = external hidden unnamed_addr constant [1 x i32], align 4
@.str.6453 = external hidden unnamed_addr constant [2 x i32], align 4
@.str.6455 = external hidden unnamed_addr constant [3 x i32], align 4
@.str.6467 = external hidden unnamed_addr constant [3 x i32], align 4
@.str.6468 = external hidden unnamed_addr constant [3 x i32], align 4
@.str.6469 = external hidden unnamed_addr constant [2 x i32], align 4

; Function Attrs: mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
declare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture) #0

; Function Attrs: mustprogress nounwind uwtable
declare void @_ZNSaIwEC2Ev(ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #1 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2IS3_EEPKwRKS3_(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef, ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #2 align 2

declare i32 @__gxx_personality_v0(...)

; Function Attrs: mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
declare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture) #0

; Function Attrs: mustprogress nounwind uwtable
declare void @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEED2Ev(ptr noundef nonnull align 8 dereferenceable(32)) unnamed_addr #1 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZNSt7__cxx1111basic_regexIwNS_12regex_traitsIwEEED2Ev(ptr noundef nonnull align 8 dereferenceable(32)) unnamed_addr #1 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZNSt6vectorI3ptrIN2ts4data16CommentDirectiveEESaIS4_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24)) unnamed_addr #1 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN2ts11safe_string9substringB5cxx11Eii(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 8 dereferenceable(32), i32 noundef, i32 noundef) local_unnamed_addr #2 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef i32 @_ZN2tsanENS_10TokenFlagsES0_(i32 noundef, i32 noundef) local_unnamed_addr #3

; Function Attrs: mustprogress uwtable
declare dso_local noundef i32 @_ZN2ts11safe_stringixEi(ptr noundef nonnull align 8 dereferenceable(32), i32 noundef) local_unnamed_addr #2 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZN2ts7Scanner11isLineBreakE14CharacterCodes(ptr noundef nonnull align 8 dereferenceable(176), i32 noundef) local_unnamed_addr #1 align 2

; Function Attrs: mustprogress nounwind uwtable
declare noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #1 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZN2ts7Scanner22isWhiteSpaceSingleLineE14CharacterCodes(ptr noundef nonnull align 8 dereferenceable(176), i32 noundef) local_unnamed_addr #1 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZN2ts7Scanner7isDigitE14CharacterCodes(ptr noundef nonnull align 8 dereferenceable(176), i32 noundef) local_unnamed_addr #1 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZN2ts7Scanner22isConflictMarkerTriviaERNS_11safe_stringEi(ptr noundef nonnull align 8 dereferenceable(176), ptr noundef nonnull align 8 dereferenceable(32), i32 noundef) local_unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef i32 @_ZN2ts7Scanner24scanConflictMarkerTriviaERNS_11safe_stringEiSt8functionIFv3ptrINS_4data17DiagnosticMessageEEiiNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEEE(ptr noundef nonnull align 8 dereferenceable(176), ptr noundef nonnull align 8 dereferenceable(32), i32 noundef, ptr noundef) local_unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZN2ts7Scanner15isShebangTriviaERNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEi(ptr noundef nonnull align 8 dereferenceable(176), ptr noundef nonnull align 8 dereferenceable(32), i32 noundef) local_unnamed_addr #2 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(32) ptr @_ZN2ts11safe_stringcvRNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEEv(ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #1 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef i32 @_ZN2ts7Scanner17scanShebangTriviaERNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEi(ptr noundef nonnull align 8 dereferenceable(176), ptr noundef nonnull align 8 dereferenceable(32), i32 noundef) local_unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN2ts4data17DiagnosticMessageC2ERNS_22DiagnosticMessageStoreE(ptr noundef nonnull align 8 dereferenceable(121), ptr noundef nonnull align 8 dereferenceable(72)) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN3ptrIN2ts4data17DiagnosticMessageEEC2ERKS2_(ptr noundef nonnull align 8 dereferenceable(16), ptr noundef nonnull align 8 dereferenceable(121)) unnamed_addr #2 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN3ptrIN2ts4data17DiagnosticMessageEED2Ev(ptr noundef nonnull align 8 dereferenceable(16)) unnamed_addr #1 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local void @_ZN2ts4data17DiagnosticMessageD2Ev(ptr noundef nonnull align 8 dereferenceable(121)) unnamed_addr #3 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZN2ts7Scanner17isIdentifierStartE14CharacterCodesNS_12ScriptTargetE(ptr noundef nonnull align 8 dereferenceable(176), i32 noundef, i32 noundef) local_unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef i32 @_ZN2ts7Scanner11codePointAtERNS_11safe_stringEi(ptr noundef nonnull align 8 dereferenceable(176), ptr noundef nonnull align 8 dereferenceable(32), i32 noundef) local_unnamed_addr #2 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef i32 @_ZN2ts7Scanner8charSizeE14CharacterCodes(ptr noundef nonnull align 8 dereferenceable(176), i32 noundef) local_unnamed_addr #1 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN2ts7Scanner5errorE3ptrINS_4data17DiagnosticMessageEEiiNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEE(ptr noundef nonnull align 8 dereferenceable(176), ptr noundef, i32 noundef, i32 noundef, ptr noundef) #2 align 2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef nonnull align 4 dereferenceable(4) ptr @_ZN2tsoRERNS_10TokenFlagsES0_(ptr noundef nonnull align 4 dereferenceable(4), i32 noundef) local_unnamed_addr #3

; Function Attrs: mustprogress uwtable
declare dso_local noundef i32 @_ZN2ts7Scanner10scanNumberEv(ptr noundef nonnull align 8 dereferenceable(176)) local_unnamed_addr #2 align 2

; Function Attrs: mustprogress nounwind uwtable
declare noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEaSEOS4_(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #1 align 2

; Function Attrs: mustprogress uwtable
declare noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEaSEPKw(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef) local_unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZStplIwSt11char_traitsIwESaIwEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef, ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #2

; Function Attrs: inlinehint mustprogress nounwind uwtable
declare dso_local noundef zeroext i1 @_ZN2tsntENS_10TokenFlagsE(i32 noundef) local_unnamed_addr #3

; Function Attrs: mustprogress uwtable
declare dso_local noundef i32 @_ZN2ts7Scanner17checkBigIntSuffixEv(ptr noundef nonnull align 8 dereferenceable(176)) local_unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN2ts7Scanner19scanIdentifierPartsB5cxx11Ev(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 8 dereferenceable(176)) local_unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN2ts7Scanner28scanMinimumNumberOfHexDigitsB5cxx11Eib(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 8 dereferenceable(176), i32 noundef, i1 noundef zeroext) local_unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN2ts7Scanner10scanStringB5cxx11Eb(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 8 dereferenceable(176), i1 noundef zeroext) local_unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef i32 @_ZN2ts7Scanner28scanTemplateAndSetTokenValueEb(ptr noundef nonnull align 8 dereferenceable(176), i1 noundef zeroext) local_unnamed_addr #2 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZStplIwSt11char_traitsIwESaIwEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef, ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #4

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZN2ts12fromCharCodeB5cxx11Ew(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, i32 noundef signext) local_unnamed_addr #4

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2IS3_EEmwRKS3_(ptr noundef nonnull align 8 dereferenceable(32), i64 noundef, i32 noundef signext, ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN2ts7Scanner25scanExtendedUnicodeEscapeB5cxx11Ev(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 8 dereferenceable(176)) local_unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef i32 @_ZN2ts7Scanner17peekUnicodeEscapeEv(ptr noundef nonnull align 8 dereferenceable(176)) local_unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef i32 @_ZN2ts7Scanner25peekExtendedUnicodeEscapeEv(ptr noundef nonnull align 8 dereferenceable(176)) local_unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef i32 @_ZN2ts7Scanner18getIdentifierTokenEv(ptr noundef nonnull align 8 dereferenceable(176)) local_unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN2ts7Scanner23scanBinaryOrOctalDigitsB5cxx11Ei(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 8 dereferenceable(176), i32 noundef) local_unnamed_addr #2 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZStplIwSt11char_traitsIwESaIwEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind noalias writable sret(%"class.std::__cxx11::basic_string") align 8, ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(32)) local_unnamed_addr #4

; Function Attrs: mustprogress uwtable
define dso_local noundef i32 @_ZN2ts7Scanner4scanEv(ptr noundef nonnull align 8 dereferenceable(176) %0) local_unnamed_addr #2 align 2 personality ptr @__gxx_personality_v0 {
  %2 = alloca %struct.ptr.100, align 8
  %3 = alloca %"struct.ts::data::DiagnosticMessage", align 8
  %4 = alloca %"class.std::__cxx11::basic_string", align 8
  %5 = alloca %"class.std::allocator.0", align 1
  %6 = alloca %"class.std::__cxx11::basic_string", align 8
  %7 = alloca %"class.std::vector.41", align 8
  %8 = alloca %"class.std::vector.41", align 8
  %9 = alloca %"class.std::__cxx11::basic_string", align 8
  %10 = alloca %"class.std::__cxx11::basic_regex", align 8
  %11 = alloca %"struct.ts::pos_type", align 8
  %12 = alloca %"class.std::vector.41", align 8
  %13 = alloca %"class.std::vector.41", align 8
  %14 = alloca %"class.std::__cxx11::basic_string", align 8
  %15 = alloca %"class.std::__cxx11::basic_regex", align 8
  %16 = alloca %"struct.ts::pos_type", align 8
  %17 = alloca %struct.ptr.100, align 8
  %18 = alloca %"struct.ts::data::DiagnosticMessage", align 8
  %19 = alloca %"class.std::__cxx11::basic_string", align 8
  %20 = alloca %"class.std::allocator.0", align 1
  %21 = alloca %"class.std::__cxx11::basic_string", align 8
  %22 = alloca %struct.ptr.100, align 8
  %23 = alloca %"struct.ts::data::DiagnosticMessage", align 8
  %24 = alloca %"class.std::__cxx11::basic_string", align 8
  %25 = alloca %"class.std::allocator.0", align 1
  %26 = alloca %"class.std::__cxx11::basic_string", align 8
  %27 = alloca %"class.std::__cxx11::basic_string", align 8
  %28 = alloca %struct.ptr.100, align 8
  %29 = alloca %"struct.ts::data::DiagnosticMessage", align 8
  %30 = alloca %"class.std::__cxx11::basic_string", align 8
  %31 = alloca %"class.std::allocator.0", align 1
  %32 = alloca %"class.std::__cxx11::basic_string", align 8
  %33 = alloca %"class.std::__cxx11::basic_string", align 8
  %34 = alloca %struct.ptr.100, align 8
  %35 = alloca %"struct.ts::data::DiagnosticMessage", align 8
  %36 = alloca %"class.std::__cxx11::basic_string", align 8
  %37 = alloca %"class.std::allocator.0", align 1
  %38 = alloca %"class.std::__cxx11::basic_string", align 8
  %39 = alloca %"class.std::function.98", align 8
  %40 = alloca %"class.std::_Bind.147", align 8
  %41 = alloca { i64, i64 }, align 8
  %42 = alloca ptr, align 8
  %43 = alloca %"class.std::function.98", align 8
  %44 = alloca %"class.std::_Bind.147", align 8
  %45 = alloca { i64, i64 }, align 8
  %46 = alloca ptr, align 8
  %47 = alloca %"class.std::function.98", align 8
  %48 = alloca %"class.std::_Bind.147", align 8
  %49 = alloca { i64, i64 }, align 8
  %50 = alloca ptr, align 8
  %51 = alloca %"class.std::function.98", align 8
  %52 = alloca %"class.std::_Bind.147", align 8
  %53 = alloca { i64, i64 }, align 8
  %54 = alloca ptr, align 8
  %55 = alloca %"class.std::__cxx11::basic_string", align 8
  %56 = alloca %"class.std::__cxx11::basic_string", align 8
  %57 = alloca %"class.std::__cxx11::basic_string", align 8
  %58 = alloca %"class.std::__cxx11::basic_string", align 8
  %59 = alloca %"class.std::__cxx11::basic_string", align 8
  %60 = alloca %"class.std::allocator.0", align 1
  %61 = alloca %"class.std::__cxx11::basic_string", align 8
  %62 = alloca %struct.ptr.100, align 8
  %63 = alloca %"struct.ts::data::DiagnosticMessage", align 8
  %64 = alloca %"class.std::__cxx11::basic_string", align 8
  %65 = alloca %"class.std::allocator.0", align 1
  %66 = alloca %struct.ptr.100, align 8
  %67 = alloca %"struct.ts::data::DiagnosticMessage", align 8
  %68 = alloca %"class.std::__cxx11::basic_string", align 8
  %69 = alloca %"class.std::allocator.0", align 1
  %70 = alloca %"class.std::__cxx11::basic_string", align 8
  %71 = alloca %"class.std::__cxx11::basic_string", align 8
  %72 = alloca %"class.std::__cxx11::basic_string", align 8
  %73 = alloca %"class.std::__cxx11::basic_string", align 8
  %74 = alloca %"class.std::__cxx11::basic_string", align 8
  %75 = alloca %"class.std::__cxx11::basic_string", align 8
  %76 = alloca %"class.std::__cxx11::basic_string", align 8
  %77 = alloca %"class.std::__cxx11::basic_string", align 8
  %78 = alloca %struct.ptr.100, align 8
  %79 = alloca %"struct.ts::data::DiagnosticMessage", align 8
  %80 = alloca %"class.std::__cxx11::basic_string", align 8
  %81 = alloca %"class.std::allocator.0", align 1
  %82 = alloca %struct.ptr.100, align 8
  %83 = alloca %"struct.ts::data::DiagnosticMessage", align 8
  %84 = alloca %"class.std::__cxx11::basic_string", align 8
  %85 = alloca %"class.std::allocator.0", align 1
  %86 = getelementptr inbounds i8, ptr %0, i64 48
  %87 = load i32, ptr %86, align 8, !tbaa !5
  %88 = getelementptr inbounds i8, ptr %0, i64 56
  store i32 %87, ptr %88, align 8, !tbaa !28
  %89 = getelementptr inbounds i8, ptr %0, i64 104
  store i32 0, ptr %89, align 8, !tbaa !29
  %90 = getelementptr inbounds i8, ptr %0, i64 60
  %91 = getelementptr inbounds i8, ptr %0, i64 52
  store i32 %87, ptr %90, align 4, !tbaa !30
  %92 = load i32, ptr %91, align 4, !tbaa !31
  %.not376 = icmp slt i32 %87, %92
  br i1 %.not376, label %.lr.ph379, label %._crit_edge380

.lr.ph379:                                        ; preds = %1
  %93 = getelementptr inbounds i8, ptr %0, i64 16
  %94 = getelementptr inbounds i8, ptr %0, i64 8
  %.fca.1.gep = getelementptr inbounds i8, ptr %53, i64 8
  %.fca.1.gep19 = getelementptr inbounds i8, ptr %49, i64 8
  %.fca.1.gep21 = getelementptr inbounds i8, ptr %45, i64 8
  %.fca.1.gep23 = getelementptr inbounds i8, ptr %41, i64 8
  %95 = getelementptr inbounds i8, ptr %0, i64 112
  %96 = getelementptr inbounds i8, ptr %0, i64 136
  %97 = getelementptr inbounds i8, ptr %0, i64 4
  br label %99

._crit_edge380:                                   ; preds = %973, %1
  %98 = getelementptr inbounds i8, ptr %0, i64 64
  store i32 1, ptr %98, align 8, !tbaa !32
  br label %.thread187

99:                                               ; preds = %.lr.ph379, %973
  %100 = phi i32 [ %87, %.lr.ph379 ], [ %974, %973 ]
  %.049377 = phi i1 [ false, %.lr.ph379 ], [ %.150, %973 ]
  %101 = call noundef i32 @_ZN2ts7Scanner11codePointAtERNS_11safe_stringEi(ptr noundef nonnull align 8 dereferenceable(176) %0, ptr noundef nonnull align 8 dereferenceable(32) %93, i32 noundef %100)
  %102 = load i32, ptr %86, align 8, !tbaa !5
  %103 = icmp eq i32 %102, 0
  br i1 %103, label %104, label %131

104:                                              ; preds = %99
  switch i32 %101, label %131 [
    i32 65533, label %105
    i32 35, label %119
  ]

105:                                              ; preds = %104
  call void @llvm.lifetime.start.p0(i64 128, ptr nonnull %3) #5
  call void @_ZN2ts4data17DiagnosticMessageC2ERNS_22DiagnosticMessageStoreE(ptr noundef nonnull align 8 dereferenceable(121) %3, ptr noundef nonnull align 8 dereferenceable(72) @_ZN2ts11DiagnosticsL25File_appears_to_be_binaryE)
  invoke void @_ZN3ptrIN2ts4data17DiagnosticMessageEEC2ERKS2_(ptr noundef nonnull align 8 dereferenceable(16) %2, ptr noundef nonnull align 8 dereferenceable(121) %3)
          to label %106 unwind label %111

106:                                              ; preds = %105
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %5) #5
  call void @_ZNSaIwEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %5) #5
  invoke void @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2IS3_EEPKwRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %4, ptr noundef nonnull @.str.6452, ptr noundef nonnull align 1 dereferenceable(1) %5)
          to label %107 unwind label %113

107:                                              ; preds = %106
  invoke void @_ZN2ts7Scanner5errorE3ptrINS_4data17DiagnosticMessageEEiiNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEE(ptr noundef nonnull align 8 dereferenceable(176) %0, ptr noundef nonnull %2, i32 noundef -1, i32 noundef 0, ptr noundef nonnull %4)
          to label %108 unwind label %115

108:                                              ; preds = %107
  call void @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %4) #5
  call void @_ZNSt15__new_allocatorIwED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %5) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %5) #5
  call void @_ZN3ptrIN2ts4data17DiagnosticMessageEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %2) #5
  call void @_ZN2ts4data17DiagnosticMessageD2Ev(ptr noundef nonnull align 8 dereferenceable(121) %3) #5
  call void @llvm.lifetime.end.p0(i64 128, ptr nonnull %3) #5
  %109 = load i32, ptr %91, align 4, !tbaa !31
  store i32 %109, ptr %86, align 8, !tbaa !5
  %110 = getelementptr inbounds i8, ptr %0, i64 64
  store i32 8, ptr %110, align 8, !tbaa !32
  br label %.thread187

111:                                              ; preds = %105
  %112 = landingpad { ptr, i32 }
          cleanup
  br label %118

113:                                              ; preds = %106
  %114 = landingpad { ptr, i32 }
          cleanup
  br label %117

115:                                              ; preds = %107
  %116 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %4) #5
  br label %117

117:                                              ; preds = %115, %113
  %.pn171 = phi { ptr, i32 } [ %116, %115 ], [ %114, %113 ]
  call void @_ZNSt15__new_allocatorIwED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %5) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %5) #5
  call void @_ZN3ptrIN2ts4data17DiagnosticMessageEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %2) #5
  br label %118

118:                                              ; preds = %117, %111
  %.pn171.pn = phi { ptr, i32 } [ %.pn171, %117 ], [ %112, %111 ]
  call void @_ZN2ts4data17DiagnosticMessageD2Ev(ptr noundef nonnull align 8 dereferenceable(121) %3) #5
  call void @llvm.lifetime.end.p0(i64 128, ptr nonnull %3) #5
  br label %976

119:                                              ; preds = %104
  %120 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN2ts11safe_stringcvRNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEEv(ptr noundef nonnull align 8 dereferenceable(32) %93)
  %121 = load i32, ptr %86, align 8, !tbaa !5
  %122 = call noundef zeroext i1 @_ZN2ts7Scanner15isShebangTriviaERNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEi(ptr noundef nonnull align 8 dereferenceable(176) %0, ptr noundef nonnull align 8 dereferenceable(32) %120, i32 noundef %121)
  br i1 %122, label %123, label %..thread_crit_edge

..thread_crit_edge:                               ; preds = %119
  %.pre = load i32, ptr %86, align 8, !tbaa !5
  br label %.thread

123:                                              ; preds = %119
  %124 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZN2ts11safe_stringcvRNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEEv(ptr noundef nonnull align 8 dereferenceable(32) %93)
  %125 = load i32, ptr %86, align 8, !tbaa !5
  %126 = call noundef i32 @_ZN2ts7Scanner17scanShebangTriviaERNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEi(ptr noundef nonnull align 8 dereferenceable(176) %0, ptr noundef nonnull align 8 dereferenceable(32) %124, i32 noundef %125)
  store i32 %126, ptr %86, align 8, !tbaa !5
  %127 = load i8, ptr %94, align 8, !tbaa !33, !range !34, !noundef !35
  %128 = trunc nuw i8 %127 to i1
  br i1 %128, label %973, label %129, !llvm.loop !36

129:                                              ; preds = %123
  %130 = getelementptr inbounds i8, ptr %0, i64 64
  store i32 6, ptr %130, align 8, !tbaa !32
  br label %.thread187

131:                                              ; preds = %104, %99
  switch i32 %101, label %938 [
    i32 10, label %132
    i32 13, label %132
    i32 9, label %155
    i32 11, label %155
    i32 12, label %155
    i32 32, label %155
    i32 160, label %155
    i32 5760, label %155
    i32 8192, label %155
    i32 8193, label %155
    i32 8194, label %155
    i32 8195, label %155
    i32 8196, label %155
    i32 8197, label %155
    i32 8198, label %155
    i32 8199, label %155
    i32 8200, label %155
    i32 8201, label %155
    i32 8202, label %155
    i32 8203, label %155
    i32 8239, label %155
    i32 8287, label %155
    i32 12288, label %155
    i32 65279, label %155
    i32 33, label %171
    i32 34, label %189
    i32 39, label %189
    i32 96, label %193
    i32 37, label %196
    i32 38, label %206
    i32 40, label %230
    i32 41, label %233
    i32 42, label %236
    i32 43, label %268
    i32 44, label %286
    i32 45, label %289
    i32 46, label %307
    i32 47, label %332
    i32 48, label %450
    i32 49, label %.loopexit192
    i32 50, label %.loopexit192
    i32 51, label %.loopexit192
    i32 52, label %.loopexit192
    i32 53, label %.loopexit192
    i32 54, label %.loopexit192
    i32 55, label %.loopexit192
    i32 56, label %.loopexit192
    i32 57, label %.loopexit192
    i32 58, label %563
    i32 59, label %566
    i32 60, label %569
    i32 61, label %625
    i32 62, label %661
    i32 63, label %676
    i32 91, label %708
    i32 93, label %711
    i32 94, label %714
    i32 123, label %724
    i32 124, label %727
    i32 125, label %763
    i32 126, label %766
    i32 64, label %769
    i32 92, label %772
    i32 35, label %.thread
  ]

132:                                              ; preds = %131, %131
  %133 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN2tsoRERNS_10TokenFlagsES0_(ptr noundef nonnull align 4 dereferenceable(4) %89, i32 noundef 1)
  %134 = load i8, ptr %94, align 8, !tbaa !33, !range !34, !noundef !35
  %135 = trunc nuw i8 %134 to i1
  br i1 %135, label %136, label %139

136:                                              ; preds = %132
  %137 = load i32, ptr %86, align 8, !tbaa !5
  %138 = add nsw i32 %137, 1
  br label %.sink.split, !llvm.loop !36

139:                                              ; preds = %132
  %140 = icmp eq i32 %101, 13
  %.pre455 = load i32, ptr %86, align 8, !tbaa !5
  br i1 %140, label %141, label %150

141:                                              ; preds = %139
  %142 = add nsw i32 %.pre455, 1
  %143 = load i32, ptr %91, align 4, !tbaa !31
  %144 = icmp slt i32 %142, %143
  br i1 %144, label %145, label %150

145:                                              ; preds = %141
  %146 = call noundef i32 @_ZN2ts11safe_stringixEi(ptr noundef nonnull align 8 dereferenceable(32) %93, i32 noundef %142)
  %147 = icmp eq i32 %146, 10
  %.pre454 = load i32, ptr %86, align 8, !tbaa !5
  br i1 %147, label %148, label %150

148:                                              ; preds = %145
  %149 = add nsw i32 %.pre454, 2
  br label %153

150:                                              ; preds = %145, %141, %139
  %151 = phi i32 [ %.pre454, %145 ], [ %.pre455, %141 ], [ %.pre455, %139 ]
  %152 = add nsw i32 %151, 1
  br label %153

153:                                              ; preds = %150, %148
  %storemerge166 = phi i32 [ %152, %150 ], [ %149, %148 ]
  store i32 %storemerge166, ptr %86, align 8, !tbaa !5
  %154 = getelementptr inbounds i8, ptr %0, i64 64
  store i32 4, ptr %154, align 8, !tbaa !32
  br label %.thread187

155:                                              ; preds = %131, %131, %131, %131, %131, %131, %131, %131, %131, %131, %131, %131, %131, %131, %131, %131, %131, %131, %131, %131, %131, %131
  %156 = load i8, ptr %94, align 8, !tbaa !33, !range !34, !noundef !35
  %157 = trunc nuw i8 %156 to i1
  br i1 %157, label %160, label %.preheader

.preheader:                                       ; preds = %155
  %158 = load i32, ptr %91, align 4, !tbaa !31
  %159 = icmp slt i32 %102, %158
  br i1 %159, label %.lr.ph381, label %.critedge

160:                                              ; preds = %155
  %161 = add nsw i32 %102, 1
  br label %.sink.split, !llvm.loop !36

.lr.ph381:                                        ; preds = %.preheader, %165
  %162 = phi i32 [ %167, %165 ], [ %102, %.preheader ]
  %163 = call noundef i32 @_ZN2ts11safe_stringixEi(ptr noundef nonnull align 8 dereferenceable(32) %93, i32 noundef %162)
  %164 = call noundef zeroext i1 @_ZN2ts7Scanner22isWhiteSpaceSingleLineE14CharacterCodes(ptr noundef nonnull align 8 dereferenceable(176) %0, i32 noundef %163)
  br i1 %164, label %165, label %.critedge

165:                                              ; preds = %.lr.ph381
  %166 = load i32, ptr %86, align 8, !tbaa !5
  %167 = add nsw i32 %166, 1
  store i32 %167, ptr %86, align 8, !tbaa !5
  %168 = load i32, ptr %91, align 4, !tbaa !31
  %169 = icmp slt i32 %167, %168
  br i1 %169, label %.lr.ph381, label %.critedge, !llvm.loop !38

.critedge:                                        ; preds = %.lr.ph381, %165, %.preheader
  %170 = getelementptr inbounds i8, ptr %0, i64 64
  store i32 5, ptr %170, align 8, !tbaa !32
  br label %.thread187

171:                                              ; preds = %131
  %172 = add nsw i32 %102, 1
  %173 = call noundef i32 @_ZN2ts11safe_stringixEi(ptr noundef nonnull align 8 dereferenceable(32) %93, i32 noundef %172)
  %174 = icmp eq i32 %173, 61
  %175 = load i32, ptr %86, align 8, !tbaa !5
  br i1 %174, label %176, label %186

176:                                              ; preds = %171
  %177 = add nsw i32 %175, 2
  %178 = call noundef i32 @_ZN2ts11safe_stringixEi(ptr noundef nonnull align 8 dereferenceable(32) %93, i32 noundef %177)
  %179 = icmp eq i32 %178, 61
  %180 = load i32, ptr %86, align 8, !tbaa !5
  %181 = getelementptr inbounds i8, ptr %0, i64 64
  br i1 %179, label %182, label %184

182:                                              ; preds = %176
  %183 = add nsw i32 %180, 3
  store i32 %183, ptr %86, align 8, !tbaa !5
  store i32 38, ptr %181, align 8, !tbaa !32
  br label %.thread187

184:                                              ; preds = %176
  %185 = add nsw i32 %180, 2
  store i32 %185, ptr %86, align 8, !tbaa !5
  store i32 36, ptr %181, align 8, !tbaa !32
  br label %.thread187

186:                                              ; preds = %171
  %187 = add nsw i32 %175, 1
  store i32 %187, ptr %86, align 8, !tbaa !5
  %188 = getelementptr inbounds i8, ptr %0, i64 64
  store i32 54, ptr %188, align 8, !tbaa !32
  br label %.thread187

189:                                              ; preds = %131, %131
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %6) #5
  call void @_ZN2ts7Scanner10scanStringB5cxx11Eb(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %6, ptr noundef nonnull align 8 dereferenceable(176) %0, i1 noundef zeroext false)
  %190 = getelementptr inbounds i8, ptr %0, i64 72
  %191 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEaSEOS4_(ptr noundef nonnull align 8 dereferenceable(32) %190, ptr noundef nonnull align 8 dereferenceable(32) %6) #5
  call void @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %6) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %6) #5
  %192 = getelementptr inbounds i8, ptr %0, i64 64
  store i32 11, ptr %192, align 8, !tbaa !32
  br label %.thread187

193:                                              ; preds = %131
  %194 = call noundef i32 @_ZN2ts7Scanner28scanTemplateAndSetTokenValueEb(ptr noundef nonnull align 8 dereferenceable(176) %0, i1 noundef zeroext false)
  %195 = getelementptr inbounds i8, ptr %0, i64 64
  store i32 %194, ptr %195, align 8, !tbaa !32
  br label %.thread187

196:                                              ; preds = %131
  %197 = add nsw i32 %102, 1
  %198 = call noundef i32 @_ZN2ts11safe_stringixEi(ptr noundef nonnull align 8 dereferenceable(32) %93, i32 noundef %197)
  %199 = icmp eq i32 %198, 61
  %200 = load i32, ptr %86, align 8, !tbaa !5
  %201 = getelementptr inbounds i8, ptr %0, i64 64
  br i1 %199, label %202, label %204

202:                                              ; preds = %196
  %203 = add nsw i32 %200, 2
  store i32 %203, ptr %86, align 8, !tbaa !5
  store i32 70, ptr %201, align 8, !tbaa !32
  br label %.thread187

204:                                              ; preds = %196
  %205 = add nsw i32 %200, 1
  store i32 %205, ptr %86, align 8, !tbaa !5
  store i32 45, ptr %201, align 8, !tbaa !32
  br label %.thread187

206:                                              ; preds = %131
  %207 = add nsw i32 %102, 1
  %208 = call noundef i32 @_ZN2ts11safe_stringixEi(ptr noundef nonnull align 8 dereferenceable(32) %93, i32 noundef %207)
  %209 = icmp eq i32 %208, 38
  %210 = load i32, ptr %86, align 8, !tbaa !5
  %211 = getelementptr inbounds i8, ptr %0, i64 64
  br i1 %209, label %212, label %221

212:                                              ; preds = %206
  %213 = add nsw i32 %210, 2
  %214 = call noundef i32 @_ZN2ts11safe_stringixEi(ptr noundef nonnull align 8 dereferenceable(32) %93, i32 noundef %213)
  %215 = icmp eq i32 %214, 61
  %216 = load i32, ptr %86, align 8, !tbaa !5
  br i1 %215, label %217, label %219

217:                                              ; preds = %212
  %218 = add nsw i32 %216, 3
  store i32 %218, ptr %86, align 8, !tbaa !5
  store i32 77, ptr %211, align 8, !tbaa !32
  br label %.thread187

219:                                              ; preds = %212
  %220 = add nsw i32 %216, 2
  store i32 %220, ptr %86, align 8, !tbaa !5
  store i32 56, ptr %211, align 8, !tbaa !32
  br label %.thread187

221:                                              ; preds = %206
  %222 = add nsw i32 %210, 1
  %223 = call noundef i32 @_ZN2ts11safe_stringixEi(ptr noundef nonnull align 8 dereferenceable(32) %93, i32 noundef %222)
  %224 = icmp eq i32 %223, 61
  %225 = load i32, ptr %86, align 8, !tbaa !5
  br i1 %224, label %226, label %228

226:                                              ; preds = %221
  %227 = add nsw i32 %225, 2
  store i32 %227, ptr %86, align 8, !tbaa !5
  store i32 74, ptr %211, align 8, !tbaa !32
  br label %.thread187

228:                                              ; preds = %221
  %229 = add nsw i32 %225, 1
  store i32 %229, ptr %86, align 8, !tbaa !5
  store i32 51, ptr %211, align 8, !tbaa !32
  br label %.thread187

230:                                              ; preds = %131
  %231 = add nsw i32 %102, 1
  store i32 %231, ptr %86, align 8, !tbaa !5
  %232 = getelementptr inbounds i8, ptr %0, i64 64
  store i32 21, ptr %232, align 8, !tbaa !32
  br label %.thread187

233:                                              ; preds = %131
  %234 = add nsw i32 %102, 1
  store i32 %234, ptr %86, align 8, !tbaa !5
  %235 = getelementptr inbounds i8, ptr %0, i64 64
  store i32 22, ptr %235, align 8, !tbaa !32
  br label %.thread187

236:                                              ; preds = %131
  %237 = add nsw i32 %102, 1
  %238 = call noundef i32 @_ZN2ts11safe_stringixEi(ptr noundef nonnull align 8 dereferenceable(32) %93, i32 noundef %237)
  %239 = icmp eq i32 %238, 61
  %240 = load i32, ptr %86, align 8, !tbaa !5
  br i1 %239, label %241, label %244

241:                                              ; preds = %236
  %242 = add nsw i32 %240, 2
  store i32 %242, ptr %86, align 8, !tbaa !5
  %243 = getelementptr inbounds i8, ptr %0, i64 64
  store i32 67, ptr %243, align 8, !tbaa !32
  br label %.thread187

244:                                              ; preds = %236
  %245 = add nsw i32 %240, 1
  %246 = call noundef i32 @_ZN2ts11safe_stringixEi(ptr noundef nonnull align 8 dereferenceable(32) %93, i32 noundef %245)
  %247 = icmp eq i32 %246, 42
  %248 = load i32, ptr %86, align 8, !tbaa !5
  br i1 %247, label %249, label %259

249:                                              ; preds = %244
  %250 = add nsw i32 %248, 2
  %251 = call noundef i32 @_ZN2ts11safe_stringixEi(ptr noundef nonnull align 8 dereferenceable(32) %93, i32 noundef %250)
  %252 = icmp eq i32 %251, 61
  %253 = load i32, ptr %86, align 8, !tbaa !5
  %254 = getelementptr inbounds i8, ptr %0, i64 64
  br i1 %252, label %255, label %257

255:                                              ; preds = %249
  %256 = add nsw i32 %253, 3
  store i32 %256, ptr %86, align 8, !tbaa !5
  store i32 68, ptr %254, align 8, !tbaa !32
  br label %.thread187

257:                                              ; preds = %249
  %258 = add nsw i32 %253, 2
  store i32 %258, ptr %86, align 8, !tbaa !5
  store i32 43, ptr %254, align 8, !tbaa !32
  br label %.thread187

259:                                              ; preds = %244
  %260 = add nsw i32 %248, 1
  store i32 %260, ptr %86, align 8, !tbaa !5
  %261 = load i32, ptr %96, align 8, !tbaa !39
  %.not165 = icmp eq i32 %261, 0
  %brmerge = select i1 %.not165, i1 true, i1 %.049377
  br i1 %brmerge, label %266, label %262

262:                                              ; preds = %259
  %263 = load i32, ptr %89, align 8, !tbaa !29
  %264 = call noundef i32 @_ZN2tsanENS_10TokenFlagsES0_(i32 noundef %263, i32 noundef 1)
  %265 = call noundef zeroext i1 @_ZN2tsntENS_10TokenFlagsE(i32 noundef %264)
  br i1 %265, label %266, label %973, !llvm.loop !36

266:                                              ; preds = %259, %262
  %267 = getelementptr inbounds i8, ptr %0, i64 64
  store i32 42, ptr %267, align 8, !tbaa !32
  br label %.thread187

268:                                              ; preds = %131
  %269 = add nsw i32 %102, 1
  %270 = call noundef i32 @_ZN2ts11safe_stringixEi(ptr noundef nonnull align 8 dereferenceable(32) %93, i32 noundef %269)
  %271 = icmp eq i32 %270, 43
  %272 = load i32, ptr %86, align 8, !tbaa !5
  br i1 %271, label %273, label %276

273:                                              ; preds = %268
  %274 = add nsw i32 %272, 2
  store i32 %274, ptr %86, align 8, !tbaa !5
  %275 = getelementptr inbounds i8, ptr %0, i64 64
  store i32 46, ptr %275, align 8, !tbaa !32
  br label %.thread187

276:                                              ; preds = %268
  %277 = add nsw i32 %272, 1
  %278 = call noundef i32 @_ZN2ts11safe_stringixEi(ptr noundef nonnull align 8 dereferenceable(32) %93, i32 noundef %277)
  %279 = icmp eq i32 %278, 61
  %280 = load i32, ptr %86, align 8, !tbaa !5
  %281 = getelementptr inbounds i8, ptr %0, i64 64
  br i1 %279, label %282, label %284

282:                                              ; preds = %276
  %283 = add nsw i32 %280, 2
  store i32 %283, ptr %86, align 8, !tbaa !5
  store i32 65, ptr %281, align 8, !tbaa !32
  br label %.thread187

284:                                              ; preds = %276
  %285 = add nsw i32 %280, 1
  store i32 %285, ptr %86, align 8, !tbaa !5
  store i32 40, ptr %281, align 8, !tbaa !32
  br label %.thread187

286:                                              ; preds = %131
  %287 = add nsw i32 %102, 1
  store i32 %287, ptr %86, align 8, !tbaa !5
  %288 = getelementptr inbounds i8, ptr %0, i64 64
  store i32 28, ptr %288, align 8, !tbaa !32
  br label %.thread187

289:                                              ; preds = %131
  %290 = add nsw i32 %102, 1
  %291 = call noundef i32 @_ZN2ts11safe_stringixEi(ptr noundef nonnull align 8 dereferenceable(32) %93, i32 noundef %290)
  %292 = icmp eq i32 %291, 45
  %293 = load i32, ptr %86, align 8, !tbaa !5
  br i1 %292, label %294, label %297

294:                                              ; preds = %289
  %295 = add nsw i32 %293, 2
  store i32 %295, ptr %86, align 8, !tbaa !5
  %296 = getelementptr inbounds i8, ptr %0, i64 64
  store i32 47, ptr %296, align 8, !tbaa !32
  br label %.thread187

297:                                              ; preds = %289
  %298 = add nsw i32 %293, 1
  %299 = call noundef i32 @_ZN2ts11safe_stringixEi(ptr noundef nonnull align 8 dereferenceable(32) %93, i32 noundef %298)
  %300 = icmp eq i32 %299, 61
  %301 = load i32, ptr %86, align 8, !tbaa !5
  %302 = getelementptr inbounds i8, ptr %0, i64 64
  br i1 %300, label %303, label %305

303:                                              ; preds = %297
  %304 = add nsw i32 %301, 2
  store i32 %304, ptr %86, align 8, !tbaa !5
  store i32 66, ptr %302, align 8, !tbaa !32
  br label %.thread187

305:                                              ; preds = %297
  %306 = add nsw i32 %301, 1
  store i32 %306, ptr %86, align 8, !tbaa !5
  store i32 41, ptr %302, align 8, !tbaa !32
  br label %.thread187

307:                                              ; preds = %131
  %308 = add nsw i32 %102, 1
  %309 = call noundef i32 @_ZN2ts11safe_stringixEi(ptr noundef nonnull align 8 dereferenceable(32) %93, i32 noundef %308)
  %310 = call noundef zeroext i1 @_ZN2ts7Scanner7isDigitE14CharacterCodes(ptr noundef nonnull align 8 dereferenceable(176) %0, i32 noundef %309)
  br i1 %310, label %311, label %314

311:                                              ; preds = %307
  %312 = call noundef i32 @_ZN2ts7Scanner10scanNumberEv(ptr noundef nonnull align 8 dereferenceable(176) %0)
  %313 = getelementptr inbounds i8, ptr %0, i64 64
  store i32 9, ptr %313, align 8, !tbaa !32
  br label %.thread187

314:                                              ; preds = %307
  %315 = load i32, ptr %86, align 8, !tbaa !5
  %316 = add nsw i32 %315, 1
  %317 = call noundef i32 @_ZN2ts11safe_stringixEi(ptr noundef nonnull align 8 dereferenceable(32) %93, i32 noundef %316)
  %318 = icmp eq i32 %317, 46
  br i1 %318, label %319, label %328

319:                                              ; preds = %314
  %320 = load i32, ptr %86, align 8, !tbaa !5
  %321 = add nsw i32 %320, 2
  %322 = call noundef i32 @_ZN2ts11safe_stringixEi(ptr noundef nonnull align 8 dereferenceable(32) %93, i32 noundef %321)
  %323 = icmp eq i32 %322, 46
  br i1 %323, label %324, label %328

324:                                              ; preds = %319
  %325 = load i32, ptr %86, align 8, !tbaa !5
  %326 = add nsw i32 %325, 3
  store i32 %326, ptr %86, align 8, !tbaa !5
  %327 = getelementptr inbounds i8, ptr %0, i64 64
  store i32 26, ptr %327, align 8, !tbaa !32
  br label %.thread187

328:                                              ; preds = %319, %314
  %329 = load i32, ptr %86, align 8, !tbaa !5
  %330 = add nsw i32 %329, 1
  store i32 %330, ptr %86, align 8, !tbaa !5
  %331 = getelementptr inbounds i8, ptr %0, i64 64
  store i32 25, ptr %331, align 8, !tbaa !32
  br label %.thread187

332:                                              ; preds = %131
  %333 = add nsw i32 %102, 1
  %334 = call noundef i32 @_ZN2ts11safe_stringixEi(ptr noundef nonnull align 8 dereferenceable(32) %93, i32 noundef %333)
  %335 = icmp eq i32 %334, 47
  %336 = load i32, ptr %86, align 8, !tbaa !5
  br i1 %335, label %337, label %364

337:                                              ; preds = %332
  %338 = add nsw i32 %336, 2
  store i32 %338, ptr %86, align 8, !tbaa !5
  %339 = load i32, ptr %91, align 4, !tbaa !31
  %340 = icmp slt i32 %338, %339
  br i1 %340, label %.lr.ph374, label %._crit_edge

.lr.ph374:                                        ; preds = %337, %343
  %storemerge373 = phi i32 [ %345, %343 ], [ %338, %337 ]
  %341 = call noundef i32 @_ZN2ts11safe_stringixEi(ptr noundef nonnull align 8 dereferenceable(32) %93, i32 noundef %storemerge373)
  %342 = call noundef zeroext i1 @_ZN2ts7Scanner11isLineBreakE14CharacterCodes(ptr noundef nonnull align 8 dereferenceable(176) %0, i32 noundef %341)
  br i1 %342, label %._crit_edge, label %343

343:                                              ; preds = %.lr.ph374
  %344 = load i32, ptr %86, align 8, !tbaa !5
  %345 = add nsw i32 %344, 1
  store i32 %345, ptr %86, align 8, !tbaa !5
  %346 = load i32, ptr %91, align 4, !tbaa !31
  %347 = icmp slt i32 %345, %346
  br i1 %347, label %.lr.ph374, label %._crit_edge, !llvm.loop !40

._crit_edge:                                      ; preds = %343, %.lr.ph374, %337
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %7) #5
  call void @_ZNSt6vectorI3ptrIN2ts4data16CommentDirectiveEESaIS4_EEC2ERKS6_(ptr noundef nonnull align 8 dereferenceable(24) %8, ptr noundef nonnull align 8 dereferenceable(24) %95)
  %348 = load i32, ptr %90, align 4, !tbaa !30
  %349 = load i32, ptr %86, align 8, !tbaa !5
  invoke void @_ZN2ts11safe_string9substringB5cxx11Eii(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %9, ptr noundef nonnull align 8 dereferenceable(32) %93, i32 noundef %348, i32 noundef %349)
          to label %350 unwind label %357

350:                                              ; preds = %._crit_edge
  call void @_ZNSt7__cxx1111basic_regexIwNS_12regex_traitsIwEEEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(32) %10, ptr noundef nonnull align 8 dereferenceable(32) @_ZN2ts7Scanner31commentDirectiveRegExSingleLineB5cxx11E) #5
  %351 = load i32, ptr %90, align 4, !tbaa !30
  call void @_ZN2ts8pos_typeC2Ei(ptr noundef nonnull align 4 dereferenceable(8) %11, i32 noundef %351)
  %352 = load i64, ptr %11, align 8
  invoke void @_ZN2ts7Scanner24appendIfCommentDirectiveESt6vectorI3ptrINS_4data16CommentDirectiveEESaIS5_EENSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEENS8_11basic_regexIwNS8_12regex_traitsIwEEEENS_8pos_typeE(ptr dead_on_unwind nonnull writable sret(%"class.std::vector.41") align 8 %7, ptr noundef nonnull align 8 dereferenceable(176) %0, ptr noundef nonnull %8, ptr noundef nonnull %9, ptr noundef nonnull %10, i64 %352)
          to label %353 unwind label %359

353:                                              ; preds = %350
  %354 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorI3ptrIN2ts4data16CommentDirectiveEESaIS4_EEaSEOS6_(ptr noundef nonnull align 8 dereferenceable(24) %95, ptr noundef nonnull align 8 dereferenceable(24) %7) #5
  call void @_ZNSt6vectorI3ptrIN2ts4data16CommentDirectiveEESaIS4_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %7) #5
  call void @_ZNSt7__cxx1111basic_regexIwNS_12regex_traitsIwEEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %10) #5
  call void @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %9) #5
  call void @_ZNSt6vectorI3ptrIN2ts4data16CommentDirectiveEESaIS4_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %8) #5
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %7) #5
  %355 = load i8, ptr %94, align 8, !tbaa !33, !range !34, !noundef !35
  %356 = trunc nuw i8 %355 to i1
  br i1 %356, label %973, label %362, !llvm.loop !36

357:                                              ; preds = %._crit_edge
  %358 = landingpad { ptr, i32 }
          cleanup
  br label %361

359:                                              ; preds = %350
  %360 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1111basic_regexIwNS_12regex_traitsIwEEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %10) #5
  call void @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %9) #5
  br label %361

361:                                              ; preds = %359, %357
  %.pn163 = phi { ptr, i32 } [ %360, %359 ], [ %358, %357 ]
  call void @_ZNSt6vectorI3ptrIN2ts4data16CommentDirectiveEESaIS4_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %8) #5
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %7) #5
  br label %976

362:                                              ; preds = %353
  %363 = getelementptr inbounds i8, ptr %0, i64 64
  store i32 2, ptr %363, align 8, !tbaa !32
  br label %.thread187

364:                                              ; preds = %332
  %365 = add nsw i32 %336, 1
  %366 = call noundef i32 @_ZN2ts11safe_stringixEi(ptr noundef nonnull align 8 dereferenceable(32) %93, i32 noundef %365)
  %367 = icmp eq i32 %366, 42
  %368 = load i32, ptr %86, align 8, !tbaa !5
  br i1 %367, label %369, label %440

369:                                              ; preds = %364
  %370 = add nsw i32 %368, 2
  store i32 %370, ptr %86, align 8, !tbaa !5
  %371 = call noundef i32 @_ZN2ts11safe_stringixEi(ptr noundef nonnull align 8 dereferenceable(32) %93, i32 noundef %370)
  %372 = icmp eq i32 %371, 42
  br i1 %372, label %373, label %378

373:                                              ; preds = %369
  %374 = load i32, ptr %86, align 8, !tbaa !5
  %375 = add nsw i32 %374, 1
  %376 = call noundef i32 @_ZN2ts11safe_stringixEi(ptr noundef nonnull align 8 dereferenceable(32) %93, i32 noundef %375)
  %377 = icmp ne i32 %376, 47
  br label %378

378:                                              ; preds = %373, %369
  %379 = phi i1 [ false, %369 ], [ %377, %373 ]
  %380 = load i32, ptr %90, align 4, !tbaa !30
  %381 = load i32, ptr %86, align 8, !tbaa !5
  %382 = load i32, ptr %91, align 4, !tbaa !31
  %383 = icmp slt i32 %381, %382
  br i1 %383, label %.lr.ph, label %.loopexit

.lr.ph:                                           ; preds = %378, %401
  %384 = phi i32 [ %402, %401 ], [ %381, %378 ]
  %.0106371 = phi i32 [ %.2108, %401 ], [ %380, %378 ]
  %385 = call noundef i32 @_ZN2ts11safe_stringixEi(ptr noundef nonnull align 8 dereferenceable(32) %93, i32 noundef %384)
  %386 = icmp eq i32 %385, 42
  br i1 %386, label %387, label %394

387:                                              ; preds = %.lr.ph
  %388 = load i32, ptr %86, align 8, !tbaa !5
  %389 = add nsw i32 %388, 1
  %390 = call noundef i32 @_ZN2ts11safe_stringixEi(ptr noundef nonnull align 8 dereferenceable(32) %93, i32 noundef %389)
  %391 = icmp eq i32 %390, 47
  br i1 %391, label %.thread175, label %394

.thread175:                                       ; preds = %387
  %392 = load i32, ptr %86, align 8, !tbaa !5
  %393 = add nsw i32 %392, 2
  store i32 %393, ptr %86, align 8, !tbaa !5
  br label %.loopexit

394:                                              ; preds = %387, %.lr.ph
  %395 = load i32, ptr %86, align 8, !tbaa !5
  %396 = add nsw i32 %395, 1
  store i32 %396, ptr %86, align 8, !tbaa !5
  %397 = call noundef zeroext i1 @_ZN2ts7Scanner11isLineBreakE14CharacterCodes(ptr noundef nonnull align 8 dereferenceable(176) %0, i32 noundef %385)
  br i1 %397, label %398, label %401

398:                                              ; preds = %394
  %399 = load i32, ptr %86, align 8, !tbaa !5
  %400 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN2tsoRERNS_10TokenFlagsES0_(ptr noundef nonnull align 4 dereferenceable(4) %89, i32 noundef 1)
  br label %401

401:                                              ; preds = %394, %398
  %.2108 = phi i32 [ %399, %398 ], [ %.0106371, %394 ]
  %402 = load i32, ptr %86, align 8, !tbaa !5
  %403 = load i32, ptr %91, align 4, !tbaa !31
  %404 = icmp slt i32 %402, %403
  br i1 %404, label %.lr.ph, label %.loopexit

.loopexit:                                        ; preds = %401, %378, %.thread175
  %.0106196 = phi i32 [ %.0106371, %.thread175 ], [ %380, %378 ], [ %.2108, %401 ]
  %405 = phi i1 [ true, %.thread175 ], [ false, %378 ], [ false, %401 ]
  br i1 %379, label %406, label %410

406:                                              ; preds = %.loopexit
  %407 = call noundef zeroext i1 @_ZN2ts7Scanner16shouldParseJSDocEv(ptr noundef nonnull align 8 dereferenceable(176) %0)
  br i1 %407, label %408, label %410

408:                                              ; preds = %406
  %409 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN2tsoRERNS_10TokenFlagsES0_(ptr noundef nonnull align 4 dereferenceable(4) %89, i32 noundef 2)
  br label %410

410:                                              ; preds = %408, %406, %.loopexit
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %12) #5
  call void @_ZNSt6vectorI3ptrIN2ts4data16CommentDirectiveEESaIS4_EEC2ERKS6_(ptr noundef nonnull align 8 dereferenceable(24) %13, ptr noundef nonnull align 8 dereferenceable(24) %95)
  %411 = load i32, ptr %86, align 8, !tbaa !5
  invoke void @_ZN2ts11safe_string9substringB5cxx11Eii(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %14, ptr noundef nonnull align 8 dereferenceable(32) %93, i32 noundef %.0106196, i32 noundef %411)
          to label %412 unwind label %419

412:                                              ; preds = %410
  call void @_ZNSt7__cxx1111basic_regexIwNS_12regex_traitsIwEEEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(32) %15, ptr noundef nonnull align 8 dereferenceable(32) @_ZN2ts7Scanner30commentDirectiveRegExMultiLineB5cxx11E) #5
  call void @_ZN2ts8pos_typeC2Ei(ptr noundef nonnull align 4 dereferenceable(8) %16, i32 noundef %.0106196)
  %413 = load i64, ptr %16, align 8
  invoke void @_ZN2ts7Scanner24appendIfCommentDirectiveESt6vectorI3ptrINS_4data16CommentDirectiveEESaIS5_EENSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEENS8_11basic_regexIwNS8_12regex_traitsIwEEEENS_8pos_typeE(ptr dead_on_unwind nonnull writable sret(%"class.std::vector.41") align 8 %12, ptr noundef nonnull align 8 dereferenceable(176) %0, ptr noundef nonnull %13, ptr noundef nonnull %14, ptr noundef nonnull %15, i64 %413)
          to label %414 unwind label %421

414:                                              ; preds = %412
  %415 = call noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorI3ptrIN2ts4data16CommentDirectiveEESaIS4_EEaSEOS6_(ptr noundef nonnull align 8 dereferenceable(24) %95, ptr noundef nonnull align 8 dereferenceable(24) %12) #5
  call void @_ZNSt6vectorI3ptrIN2ts4data16CommentDirectiveEESaIS4_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %12) #5
  call void @_ZNSt7__cxx1111basic_regexIwNS_12regex_traitsIwEEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #5
  call void @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #5
  call void @_ZNSt6vectorI3ptrIN2ts4data16CommentDirectiveEESaIS4_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %13) #5
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %12) #5
  br i1 %405, label %432, label %416

416:                                              ; preds = %414
  call void @llvm.lifetime.start.p0(i64 128, ptr nonnull %18) #5
  call void @_ZN2ts4data17DiagnosticMessageC2ERNS_22DiagnosticMessageStoreE(ptr noundef nonnull align 8 dereferenceable(121) %18, ptr noundef nonnull align 8 dereferenceable(72) @_ZN2ts11DiagnosticsL23Asterisk_Slash_expectedE)
  invoke void @_ZN3ptrIN2ts4data17DiagnosticMessageEEC2ERKS2_(ptr noundef nonnull align 8 dereferenceable(16) %17, ptr noundef nonnull align 8 dereferenceable(121) %18)
          to label %417 unwind label %424

417:                                              ; preds = %416
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %20) #5
  call void @_ZNSaIwEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %20) #5
  invoke void @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2IS3_EEPKwRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %19, ptr noundef nonnull @.str.6452, ptr noundef nonnull align 1 dereferenceable(1) %20)
          to label %418 unwind label %426

418:                                              ; preds = %417
  invoke void @_ZN2ts7Scanner5errorE3ptrINS_4data17DiagnosticMessageEEiiNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEE(ptr noundef nonnull align 8 dereferenceable(176) %0, ptr noundef nonnull %17, i32 noundef -1, i32 noundef 0, ptr noundef nonnull %19)
          to label %.thread180 unwind label %428

419:                                              ; preds = %410
  %420 = landingpad { ptr, i32 }
          cleanup
  br label %423

421:                                              ; preds = %412
  %422 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1111basic_regexIwNS_12regex_traitsIwEEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %15) #5
  call void @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %14) #5
  br label %423

423:                                              ; preds = %421, %419
  %.pn157 = phi { ptr, i32 } [ %422, %421 ], [ %420, %419 ]
  call void @_ZNSt6vectorI3ptrIN2ts4data16CommentDirectiveEESaIS4_EED2Ev(ptr noundef nonnull align 8 dereferenceable(24) %13) #5
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %12) #5
  br label %976

424:                                              ; preds = %416
  %425 = landingpad { ptr, i32 }
          cleanup
  br label %431

426:                                              ; preds = %417
  %427 = landingpad { ptr, i32 }
          cleanup
  br label %430

428:                                              ; preds = %418
  %429 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %19) #5
  br label %430

430:                                              ; preds = %428, %426
  %.pn159 = phi { ptr, i32 } [ %429, %428 ], [ %427, %426 ]
  call void @_ZNSt15__new_allocatorIwED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %20) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %20) #5
  call void @_ZN3ptrIN2ts4data17DiagnosticMessageEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %17) #5
  br label %431

431:                                              ; preds = %430, %424
  %.pn159.pn = phi { ptr, i32 } [ %.pn159, %430 ], [ %425, %424 ]
  call void @_ZN2ts4data17DiagnosticMessageD2Ev(ptr noundef nonnull align 8 dereferenceable(121) %18) #5
  call void @llvm.lifetime.end.p0(i64 128, ptr nonnull %18) #5
  br label %976

432:                                              ; preds = %414
  %433 = load i8, ptr %94, align 8, !tbaa !33, !range !34, !noundef !35
  %434 = trunc nuw i8 %433 to i1
  br i1 %434, label %973, label %.loopexit193, !llvm.loop !36

.thread180:                                       ; preds = %418
  call void @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %19) #5
  call void @_ZNSt15__new_allocatorIwED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %20) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %20) #5
  call void @_ZN3ptrIN2ts4data17DiagnosticMessageEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %17) #5
  call void @_ZN2ts4data17DiagnosticMessageD2Ev(ptr noundef nonnull align 8 dereferenceable(121) %18) #5
  call void @llvm.lifetime.end.p0(i64 128, ptr nonnull %18) #5
  %435 = load i8, ptr %94, align 8, !tbaa !33, !range !34, !noundef !35
  %436 = trunc nuw i8 %435 to i1
  br i1 %436, label %973, label %437, !llvm.loop !36

437:                                              ; preds = %.thread180
  %438 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN2tsoRERNS_10TokenFlagsES0_(ptr noundef nonnull align 4 dereferenceable(4) %89, i32 noundef 4)
  br label %.loopexit193

.loopexit193:                                     ; preds = %432, %437
  %439 = getelementptr inbounds i8, ptr %0, i64 64
  store i32 3, ptr %439, align 8, !tbaa !32
  br label %.thread187

440:                                              ; preds = %364
  %441 = add nsw i32 %368, 1
  %442 = call noundef i32 @_ZN2ts11safe_stringixEi(ptr noundef nonnull align 8 dereferenceable(32) %93, i32 noundef %441)
  %443 = icmp eq i32 %442, 61
  %444 = load i32, ptr %86, align 8, !tbaa !5
  %445 = getelementptr inbounds i8, ptr %0, i64 64
  br i1 %443, label %446, label %448

446:                                              ; preds = %440
  %447 = add nsw i32 %444, 2
  store i32 %447, ptr %86, align 8, !tbaa !5
  store i32 69, ptr %445, align 8, !tbaa !32
  br label %.thread187

448:                                              ; preds = %440
  %449 = add nsw i32 %444, 1
  store i32 %449, ptr %86, align 8, !tbaa !5
  store i32 44, ptr %445, align 8, !tbaa !32
  br label %.thread187

450:                                              ; preds = %131
  %451 = add nsw i32 %102, 2
  %452 = load i32, ptr %91, align 4, !tbaa !31
  %453 = icmp slt i32 %451, %452
  br i1 %453, label %454, label %487

454:                                              ; preds = %450
  %455 = add nsw i32 %102, 1
  %456 = call noundef i32 @_ZN2ts11safe_stringixEi(ptr noundef nonnull align 8 dereferenceable(32) %93, i32 noundef %455)
  %457 = icmp eq i32 %456, 88
  br i1 %457, label %463, label %458

458:                                              ; preds = %454
  %459 = load i32, ptr %86, align 8, !tbaa !5
  %460 = add nsw i32 %459, 1
  %461 = call noundef i32 @_ZN2ts11safe_stringixEi(ptr noundef nonnull align 8 dereferenceable(32) %93, i32 noundef %460)
  %462 = icmp eq i32 %461, 120
  br i1 %462, label %463, label %._crit_edge448

._crit_edge448:                                   ; preds = %458
  %.pre449 = load i32, ptr %86, align 8, !tbaa !5
  %.pre450 = load i32, ptr %91, align 4, !tbaa !31
  %.pre456 = add nsw i32 %.pre449, 2
  br label %487

463:                                              ; preds = %458, %454
  %464 = load i32, ptr %86, align 8, !tbaa !5
  %465 = add nsw i32 %464, 2
  store i32 %465, ptr %86, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %21) #5
  call void @_ZN2ts7Scanner28scanMinimumNumberOfHexDigitsB5cxx11Eib(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %21, ptr noundef nonnull align 8 dereferenceable(176) %0, i32 noundef 1, i1 noundef zeroext true)
  %466 = getelementptr inbounds i8, ptr %0, i64 72
  %467 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEaSEOS4_(ptr noundef nonnull align 8 dereferenceable(32) %466, ptr noundef nonnull align 8 dereferenceable(32) %21) #5
  call void @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %21) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %21) #5
  %468 = call noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32) %466) #5
  br i1 %468, label %469, label %482

469:                                              ; preds = %463
  call void @llvm.lifetime.start.p0(i64 128, ptr nonnull %23) #5
  call void @_ZN2ts4data17DiagnosticMessageC2ERNS_22DiagnosticMessageStoreE(ptr noundef nonnull align 8 dereferenceable(121) %23, ptr noundef nonnull align 8 dereferenceable(72) @_ZN2ts11DiagnosticsL26Hexadecimal_digit_expectedE)
  invoke void @_ZN3ptrIN2ts4data17DiagnosticMessageEEC2ERKS2_(ptr noundef nonnull align 8 dereferenceable(16) %22, ptr noundef nonnull align 8 dereferenceable(121) %23)
          to label %470 unwind label %474

470:                                              ; preds = %469
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %25) #5
  call void @_ZNSaIwEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %25) #5
  invoke void @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2IS3_EEPKwRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %24, ptr noundef nonnull @.str.6452, ptr noundef nonnull align 1 dereferenceable(1) %25)
          to label %471 unwind label %476

471:                                              ; preds = %470
  invoke void @_ZN2ts7Scanner5errorE3ptrINS_4data17DiagnosticMessageEEiiNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEE(ptr noundef nonnull align 8 dereferenceable(176) %0, ptr noundef nonnull %22, i32 noundef -1, i32 noundef 0, ptr noundef nonnull %24)
          to label %472 unwind label %478

472:                                              ; preds = %471
  call void @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %24) #5
  call void @_ZNSt15__new_allocatorIwED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %25) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %25) #5
  call void @_ZN3ptrIN2ts4data17DiagnosticMessageEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %22) #5
  call void @_ZN2ts4data17DiagnosticMessageD2Ev(ptr noundef nonnull align 8 dereferenceable(121) %23) #5
  call void @llvm.lifetime.end.p0(i64 128, ptr nonnull %23) #5
  %473 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEaSEPKw(ptr noundef nonnull align 8 dereferenceable(32) %466, ptr noundef nonnull @.str.6453)
  br label %482

474:                                              ; preds = %469
  %475 = landingpad { ptr, i32 }
          cleanup
  br label %481

476:                                              ; preds = %470
  %477 = landingpad { ptr, i32 }
          cleanup
  br label %480

478:                                              ; preds = %471
  %479 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %24) #5
  br label %480

480:                                              ; preds = %478, %476
  %.pn154 = phi { ptr, i32 } [ %479, %478 ], [ %477, %476 ]
  call void @_ZNSt15__new_allocatorIwED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %25) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %25) #5
  call void @_ZN3ptrIN2ts4data17DiagnosticMessageEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %22) #5
  br label %481

481:                                              ; preds = %480, %474
  %.pn154.pn = phi { ptr, i32 } [ %.pn154, %480 ], [ %475, %474 ]
  call void @_ZN2ts4data17DiagnosticMessageD2Ev(ptr noundef nonnull align 8 dereferenceable(121) %23) #5
  call void @llvm.lifetime.end.p0(i64 128, ptr nonnull %23) #5
  br label %976

482:                                              ; preds = %472, %463
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %26) #5
  call void @_ZStplIwSt11char_traitsIwESaIwEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %26, ptr noundef nonnull @.str.6467, ptr noundef nonnull align 8 dereferenceable(32) %466)
  %483 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEaSEOS4_(ptr noundef nonnull align 8 dereferenceable(32) %466, ptr noundef nonnull align 8 dereferenceable(32) %26) #5
  call void @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %26) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %26) #5
  %484 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN2tsoRERNS_10TokenFlagsES0_(ptr noundef nonnull align 4 dereferenceable(4) %89, i32 noundef 64)
  %485 = call noundef i32 @_ZN2ts7Scanner17checkBigIntSuffixEv(ptr noundef nonnull align 8 dereferenceable(176) %0)
  %486 = getelementptr inbounds i8, ptr %0, i64 64
  store i32 %485, ptr %486, align 8, !tbaa !32
  br label %.thread187

487:                                              ; preds = %._crit_edge448, %450
  %.pre-phi = phi i32 [ %.pre456, %._crit_edge448 ], [ %451, %450 ]
  %488 = phi i32 [ %.pre450, %._crit_edge448 ], [ %452, %450 ]
  %489 = phi i32 [ %.pre449, %._crit_edge448 ], [ %102, %450 ]
  %490 = icmp slt i32 %.pre-phi, %488
  br i1 %490, label %491, label %524

491:                                              ; preds = %487
  %492 = add nsw i32 %489, 1
  %493 = call noundef i32 @_ZN2ts11safe_stringixEi(ptr noundef nonnull align 8 dereferenceable(32) %93, i32 noundef %492)
  %494 = icmp eq i32 %493, 66
  br i1 %494, label %500, label %495

495:                                              ; preds = %491
  %496 = load i32, ptr %86, align 8, !tbaa !5
  %497 = add nsw i32 %496, 1
  %498 = call noundef i32 @_ZN2ts11safe_stringixEi(ptr noundef nonnull align 8 dereferenceable(32) %93, i32 noundef %497)
  %499 = icmp eq i32 %498, 98
  br i1 %499, label %500, label %._crit_edge451

._crit_edge451:                                   ; preds = %495
  %.pre452 = load i32, ptr %86, align 8, !tbaa !5
  %.pre453 = load i32, ptr %91, align 4, !tbaa !31
  %.pre457 = add nsw i32 %.pre452, 2
  br label %524

500:                                              ; preds = %495, %491
  %501 = load i32, ptr %86, align 8, !tbaa !5
  %502 = add nsw i32 %501, 2
  store i32 %502, ptr %86, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %27) #5
  call void @_ZN2ts7Scanner23scanBinaryOrOctalDigitsB5cxx11Ei(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %27, ptr noundef nonnull align 8 dereferenceable(176) %0, i32 noundef 2)
  %503 = getelementptr inbounds i8, ptr %0, i64 72
  %504 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEaSEOS4_(ptr noundef nonnull align 8 dereferenceable(32) %503, ptr noundef nonnull align 8 dereferenceable(32) %27) #5
  call void @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %27) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %27) #5
  %505 = call noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32) %503) #5
  br i1 %505, label %506, label %519

506:                                              ; preds = %500
  call void @llvm.lifetime.start.p0(i64 128, ptr nonnull %29) #5
  call void @_ZN2ts4data17DiagnosticMessageC2ERNS_22DiagnosticMessageStoreE(ptr noundef nonnull align 8 dereferenceable(121) %29, ptr noundef nonnull align 8 dereferenceable(72) @_ZN2ts11DiagnosticsL21Binary_digit_expectedE)
  invoke void @_ZN3ptrIN2ts4data17DiagnosticMessageEEC2ERKS2_(ptr noundef nonnull align 8 dereferenceable(16) %28, ptr noundef nonnull align 8 dereferenceable(121) %29)
          to label %507 unwind label %511

507:                                              ; preds = %506
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %31) #5
  call void @_ZNSaIwEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %31) #5
  invoke void @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2IS3_EEPKwRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %30, ptr noundef nonnull @.str.6452, ptr noundef nonnull align 1 dereferenceable(1) %31)
          to label %508 unwind label %513

508:                                              ; preds = %507
  invoke void @_ZN2ts7Scanner5errorE3ptrINS_4data17DiagnosticMessageEEiiNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEE(ptr noundef nonnull align 8 dereferenceable(176) %0, ptr noundef nonnull %28, i32 noundef -1, i32 noundef 0, ptr noundef nonnull %30)
          to label %509 unwind label %515

509:                                              ; preds = %508
  call void @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #5
  call void @_ZNSt15__new_allocatorIwED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %31) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %31) #5
  call void @_ZN3ptrIN2ts4data17DiagnosticMessageEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %28) #5
  call void @_ZN2ts4data17DiagnosticMessageD2Ev(ptr noundef nonnull align 8 dereferenceable(121) %29) #5
  call void @llvm.lifetime.end.p0(i64 128, ptr nonnull %29) #5
  %510 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEaSEPKw(ptr noundef nonnull align 8 dereferenceable(32) %503, ptr noundef nonnull @.str.6453)
  br label %519

511:                                              ; preds = %506
  %512 = landingpad { ptr, i32 }
          cleanup
  br label %518

513:                                              ; preds = %507
  %514 = landingpad { ptr, i32 }
          cleanup
  br label %517

515:                                              ; preds = %508
  %516 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %30) #5
  br label %517

517:                                              ; preds = %515, %513
  %.pn151 = phi { ptr, i32 } [ %516, %515 ], [ %514, %513 ]
  call void @_ZNSt15__new_allocatorIwED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %31) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %31) #5
  call void @_ZN3ptrIN2ts4data17DiagnosticMessageEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %28) #5
  br label %518

518:                                              ; preds = %517, %511
  %.pn151.pn = phi { ptr, i32 } [ %.pn151, %517 ], [ %512, %511 ]
  call void @_ZN2ts4data17DiagnosticMessageD2Ev(ptr noundef nonnull align 8 dereferenceable(121) %29) #5
  call void @llvm.lifetime.end.p0(i64 128, ptr nonnull %29) #5
  br label %976

519:                                              ; preds = %509, %500
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %32) #5
  call void @_ZStplIwSt11char_traitsIwESaIwEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %32, ptr noundef nonnull @.str.6468, ptr noundef nonnull align 8 dereferenceable(32) %503)
  %520 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEaSEOS4_(ptr noundef nonnull align 8 dereferenceable(32) %503, ptr noundef nonnull align 8 dereferenceable(32) %32) #5
  call void @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %32) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %32) #5
  %521 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN2tsoRERNS_10TokenFlagsES0_(ptr noundef nonnull align 4 dereferenceable(4) %89, i32 noundef 128)
  %522 = call noundef i32 @_ZN2ts7Scanner17checkBigIntSuffixEv(ptr noundef nonnull align 8 dereferenceable(176) %0)
  %523 = getelementptr inbounds i8, ptr %0, i64 64
  store i32 %522, ptr %523, align 8, !tbaa !32
  br label %.thread187

524:                                              ; preds = %._crit_edge451, %487
  %.pre-phi458 = phi i32 [ %.pre457, %._crit_edge451 ], [ %.pre-phi, %487 ]
  %525 = phi i32 [ %.pre453, %._crit_edge451 ], [ %488, %487 ]
  %526 = phi i32 [ %.pre452, %._crit_edge451 ], [ %489, %487 ]
  %527 = icmp slt i32 %.pre-phi458, %525
  br i1 %527, label %528, label %.loopexit192

528:                                              ; preds = %524
  %529 = add nsw i32 %526, 1
  %530 = call noundef i32 @_ZN2ts11safe_stringixEi(ptr noundef nonnull align 8 dereferenceable(32) %93, i32 noundef %529)
  %531 = icmp eq i32 %530, 79
  br i1 %531, label %537, label %532

532:                                              ; preds = %528
  %533 = load i32, ptr %86, align 8, !tbaa !5
  %534 = add nsw i32 %533, 1
  %535 = call noundef i32 @_ZN2ts11safe_stringixEi(ptr noundef nonnull align 8 dereferenceable(32) %93, i32 noundef %534)
  %536 = icmp eq i32 %535, 111
  br i1 %536, label %537, label %.loopexit192

537:                                              ; preds = %532, %528
  %538 = load i32, ptr %86, align 8, !tbaa !5
  %539 = add nsw i32 %538, 2
  store i32 %539, ptr %86, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %33) #5
  call void @_ZN2ts7Scanner23scanBinaryOrOctalDigitsB5cxx11Ei(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %33, ptr noundef nonnull align 8 dereferenceable(176) %0, i32 noundef 8)
  %540 = getelementptr inbounds i8, ptr %0, i64 72
  %541 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEaSEOS4_(ptr noundef nonnull align 8 dereferenceable(32) %540, ptr noundef nonnull align 8 dereferenceable(32) %33) #5
  call void @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %33) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %33) #5
  %542 = call noundef zeroext i1 @_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE5emptyEv(ptr noundef nonnull align 8 dereferenceable(32) %540) #5
  br i1 %542, label %543, label %556

543:                                              ; preds = %537
  call void @llvm.lifetime.start.p0(i64 128, ptr nonnull %35) #5
  call void @_ZN2ts4data17DiagnosticMessageC2ERNS_22DiagnosticMessageStoreE(ptr noundef nonnull align 8 dereferenceable(121) %35, ptr noundef nonnull align 8 dereferenceable(72) @_ZN2ts11DiagnosticsL20Octal_digit_expectedE)
  invoke void @_ZN3ptrIN2ts4data17DiagnosticMessageEEC2ERKS2_(ptr noundef nonnull align 8 dereferenceable(16) %34, ptr noundef nonnull align 8 dereferenceable(121) %35)
          to label %544 unwind label %548

544:                                              ; preds = %543
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %37) #5
  call void @_ZNSaIwEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %37) #5
  invoke void @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2IS3_EEPKwRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %36, ptr noundef nonnull @.str.6452, ptr noundef nonnull align 1 dereferenceable(1) %37)
          to label %545 unwind label %550

545:                                              ; preds = %544
  invoke void @_ZN2ts7Scanner5errorE3ptrINS_4data17DiagnosticMessageEEiiNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEE(ptr noundef nonnull align 8 dereferenceable(176) %0, ptr noundef nonnull %34, i32 noundef -1, i32 noundef 0, ptr noundef nonnull %36)
          to label %546 unwind label %552

546:                                              ; preds = %545
  call void @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %36) #5
  call void @_ZNSt15__new_allocatorIwED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %37) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %37) #5
  call void @_ZN3ptrIN2ts4data17DiagnosticMessageEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %34) #5
  call void @_ZN2ts4data17DiagnosticMessageD2Ev(ptr noundef nonnull align 8 dereferenceable(121) %35) #5
  call void @llvm.lifetime.end.p0(i64 128, ptr nonnull %35) #5
  %547 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEaSEPKw(ptr noundef nonnull align 8 dereferenceable(32) %540, ptr noundef nonnull @.str.6453)
  br label %556

548:                                              ; preds = %543
  %549 = landingpad { ptr, i32 }
          cleanup
  br label %555

550:                                              ; preds = %544
  %551 = landingpad { ptr, i32 }
          cleanup
  br label %554

552:                                              ; preds = %545
  %553 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %36) #5
  br label %554

554:                                              ; preds = %552, %550
  %.pn148 = phi { ptr, i32 } [ %553, %552 ], [ %551, %550 ]
  call void @_ZNSt15__new_allocatorIwED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %37) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %37) #5
  call void @_ZN3ptrIN2ts4data17DiagnosticMessageEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %34) #5
  br label %555

555:                                              ; preds = %554, %548
  %.pn148.pn = phi { ptr, i32 } [ %.pn148, %554 ], [ %549, %548 ]
  call void @_ZN2ts4data17DiagnosticMessageD2Ev(ptr noundef nonnull align 8 dereferenceable(121) %35) #5
  call void @llvm.lifetime.end.p0(i64 128, ptr nonnull %35) #5
  br label %976

556:                                              ; preds = %546, %537
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %38) #5
  call void @_ZStplIwSt11char_traitsIwESaIwEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_RKS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %38, ptr noundef nonnull @.str.6455, ptr noundef nonnull align 8 dereferenceable(32) %540)
  %557 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEaSEOS4_(ptr noundef nonnull align 8 dereferenceable(32) %540, ptr noundef nonnull align 8 dereferenceable(32) %38) #5
  call void @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %38) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %38) #5
  %558 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN2tsoRERNS_10TokenFlagsES0_(ptr noundef nonnull align 4 dereferenceable(4) %89, i32 noundef 256)
  %559 = call noundef i32 @_ZN2ts7Scanner17checkBigIntSuffixEv(ptr noundef nonnull align 8 dereferenceable(176) %0)
  %560 = getelementptr inbounds i8, ptr %0, i64 64
  store i32 %559, ptr %560, align 8, !tbaa !32
  br label %.thread187

.loopexit192:                                     ; preds = %131, %131, %131, %131, %131, %131, %131, %131, %131, %524, %532
  %561 = call noundef i32 @_ZN2ts7Scanner10scanNumberEv(ptr noundef nonnull align 8 dereferenceable(176) %0)
  %562 = getelementptr inbounds i8, ptr %0, i64 64
  store i32 %561, ptr %562, align 8, !tbaa !32
  br label %.thread187

563:                                              ; preds = %131
  %564 = add nsw i32 %102, 1
  store i32 %564, ptr %86, align 8, !tbaa !5
  %565 = getelementptr inbounds i8, ptr %0, i64 64
  store i32 59, ptr %565, align 8, !tbaa !32
  br label %.thread187

566:                                              ; preds = %131
  %567 = add nsw i32 %102, 1
  store i32 %567, ptr %86, align 8, !tbaa !5
  %568 = getelementptr inbounds i8, ptr %0, i64 64
  store i32 27, ptr %568, align 8, !tbaa !32
  br label %.thread187

569:                                              ; preds = %131
  %570 = call noundef zeroext i1 @_ZN2ts7Scanner22isConflictMarkerTriviaERNS_11safe_stringEi(ptr noundef nonnull align 8 dereferenceable(176) %0, ptr noundef nonnull align 8 dereferenceable(32) %93, i32 noundef %102)
  %571 = load i32, ptr %86, align 8, !tbaa !5
  br i1 %570, label %572, label %581

572:                                              ; preds = %569
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %40) #5
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %41) #5
  store i64 ptrtoint (ptr @_ZN2ts7Scanner5errorE3ptrINS_4data17DiagnosticMessageEEiiNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEE to i64), ptr %41, align 8, !tbaa !41
  store i64 0, ptr %.fca.1.gep23, align 8, !tbaa !41
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %42) #5
  store ptr %0, ptr %42, align 8, !tbaa !42
  call void @_ZSt4bindIMN2ts7ScannerEFv3ptrINS0_4data17DiagnosticMessageEEiiNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEEJPS1_RKSt12_PlaceholderILi1EERKSF_ILi2EERKSF_ILi3EERKSF_ILi4EEEENSt12_Bind_helperIXsr15__is_socketlikeIT_EE5valueEST_JDpT0_EE4typeEOST_DpOSU_(ptr dead_on_unwind nonnull writable sret(%"class.std::_Bind.147") align 8 %40, ptr noundef nonnull align 8 dereferenceable(16) %41, ptr noundef nonnull align 8 dereferenceable(8) %42, ptr noundef nonnull align 1 dereferenceable(1) @_ZNSt12placeholders2_1E, ptr noundef nonnull align 1 dereferenceable(1) @_ZNSt12placeholders2_2E, ptr noundef nonnull align 1 dereferenceable(1) @_ZNSt12placeholders2_3E, ptr noundef nonnull align 1 dereferenceable(1) @_ZNSt12placeholders2_4E)
  call void @_ZNSt8functionIFv3ptrIN2ts4data17DiagnosticMessageEEiiNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEEEC2ISt5_BindIFMNS1_7ScannerEFvS4_iiSA_EPSF_St12_PlaceholderILi1EESJ_ILi2EESJ_ILi3EESJ_ILi4EEEEvEEOT_(ptr noundef nonnull align 8 dereferenceable(32) %39, ptr noundef nonnull align 8 dereferenceable(24) %40)
  %573 = invoke noundef i32 @_ZN2ts7Scanner24scanConflictMarkerTriviaERNS_11safe_stringEiSt8functionIFv3ptrINS_4data17DiagnosticMessageEEiiNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEEE(ptr noundef nonnull align 8 dereferenceable(176) %0, ptr noundef nonnull align 8 dereferenceable(32) %93, i32 noundef %571, ptr noundef nonnull %39)
          to label %574 unwind label %577

574:                                              ; preds = %572
  store i32 %573, ptr %86, align 8, !tbaa !5
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %39) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %42) #5
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %41) #5
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %40) #5
  %575 = load i8, ptr %94, align 8, !tbaa !33, !range !34, !noundef !35
  %576 = trunc nuw i8 %575 to i1
  br i1 %576, label %973, label %579, !llvm.loop !36

577:                                              ; preds = %572
  %578 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %39) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %42) #5
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %41) #5
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %40) #5
  br label %976

579:                                              ; preds = %574
  %580 = getelementptr inbounds i8, ptr %0, i64 64
  store i32 7, ptr %580, align 8, !tbaa !32
  br label %.thread187

581:                                              ; preds = %569
  %582 = add nsw i32 %571, 1
  %583 = call noundef i32 @_ZN2ts11safe_stringixEi(ptr noundef nonnull align 8 dereferenceable(32) %93, i32 noundef %582)
  %584 = icmp eq i32 %583, 60
  %585 = load i32, ptr %86, align 8, !tbaa !5
  br i1 %584, label %586, label %596

586:                                              ; preds = %581
  %587 = add nsw i32 %585, 2
  %588 = call noundef i32 @_ZN2ts11safe_stringixEi(ptr noundef nonnull align 8 dereferenceable(32) %93, i32 noundef %587)
  %589 = icmp eq i32 %588, 61
  %590 = load i32, ptr %86, align 8, !tbaa !5
  %591 = getelementptr inbounds i8, ptr %0, i64 64
  br i1 %589, label %592, label %594

592:                                              ; preds = %586
  %593 = add nsw i32 %590, 3
  store i32 %593, ptr %86, align 8, !tbaa !5
  store i32 71, ptr %591, align 8, !tbaa !32
  br label %.thread187

594:                                              ; preds = %586
  %595 = add nsw i32 %590, 2
  store i32 %595, ptr %86, align 8, !tbaa !5
  store i32 48, ptr %591, align 8, !tbaa !32
  br label %.thread187

596:                                              ; preds = %581
  %597 = add nsw i32 %585, 1
  %598 = call noundef i32 @_ZN2ts11safe_stringixEi(ptr noundef nonnull align 8 dereferenceable(32) %93, i32 noundef %597)
  %599 = icmp eq i32 %598, 61
  br i1 %599, label %600, label %604

600:                                              ; preds = %596
  %601 = load i32, ptr %86, align 8, !tbaa !5
  %602 = add nsw i32 %601, 2
  store i32 %602, ptr %86, align 8, !tbaa !5
  %603 = getelementptr inbounds i8, ptr %0, i64 64
  store i32 33, ptr %603, align 8, !tbaa !32
  br label %.thread187

604:                                              ; preds = %596
  %605 = getelementptr inbounds i8, ptr %0, i64 12
  %606 = load i32, ptr %605, align 4, !tbaa !43
  %607 = icmp eq i32 %606, 1
  br i1 %607, label %608, label %621

608:                                              ; preds = %604
  %609 = load i32, ptr %86, align 8, !tbaa !5
  %610 = add nsw i32 %609, 1
  %611 = call noundef i32 @_ZN2ts11safe_stringixEi(ptr noundef nonnull align 8 dereferenceable(32) %93, i32 noundef %610)
  %612 = icmp eq i32 %611, 47
  br i1 %612, label %613, label %621

613:                                              ; preds = %608
  %614 = load i32, ptr %86, align 8, !tbaa !5
  %615 = add nsw i32 %614, 2
  %616 = call noundef i32 @_ZN2ts11safe_stringixEi(ptr noundef nonnull align 8 dereferenceable(32) %93, i32 noundef %615)
  %.not147 = icmp eq i32 %616, 42
  br i1 %.not147, label %621, label %617

617:                                              ; preds = %613
  %618 = load i32, ptr %86, align 8, !tbaa !5
  %619 = add nsw i32 %618, 2
  store i32 %619, ptr %86, align 8, !tbaa !5
  %620 = getelementptr inbounds i8, ptr %0, i64 64
  store i32 31, ptr %620, align 8, !tbaa !32
  br label %.thread187

621:                                              ; preds = %613, %608, %604
  %622 = load i32, ptr %86, align 8, !tbaa !5
  %623 = add nsw i32 %622, 1
  store i32 %623, ptr %86, align 8, !tbaa !5
  %624 = getelementptr inbounds i8, ptr %0, i64 64
  store i32 30, ptr %624, align 8, !tbaa !32
  br label %.thread187

625:                                              ; preds = %131
  %626 = call noundef zeroext i1 @_ZN2ts7Scanner22isConflictMarkerTriviaERNS_11safe_stringEi(ptr noundef nonnull align 8 dereferenceable(176) %0, ptr noundef nonnull align 8 dereferenceable(32) %93, i32 noundef %102)
  %627 = load i32, ptr %86, align 8, !tbaa !5
  br i1 %626, label %628, label %637

628:                                              ; preds = %625
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %44) #5
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %45) #5
  store i64 ptrtoint (ptr @_ZN2ts7Scanner5errorE3ptrINS_4data17DiagnosticMessageEEiiNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEE to i64), ptr %45, align 8, !tbaa !41
  store i64 0, ptr %.fca.1.gep21, align 8, !tbaa !41
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %46) #5
  store ptr %0, ptr %46, align 8, !tbaa !42
  call void @_ZSt4bindIMN2ts7ScannerEFv3ptrINS0_4data17DiagnosticMessageEEiiNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEEJPS1_RKSt12_PlaceholderILi1EERKSF_ILi2EERKSF_ILi3EERKSF_ILi4EEEENSt12_Bind_helperIXsr15__is_socketlikeIT_EE5valueEST_JDpT0_EE4typeEOST_DpOSU_(ptr dead_on_unwind nonnull writable sret(%"class.std::_Bind.147") align 8 %44, ptr noundef nonnull align 8 dereferenceable(16) %45, ptr noundef nonnull align 8 dereferenceable(8) %46, ptr noundef nonnull align 1 dereferenceable(1) @_ZNSt12placeholders2_1E, ptr noundef nonnull align 1 dereferenceable(1) @_ZNSt12placeholders2_2E, ptr noundef nonnull align 1 dereferenceable(1) @_ZNSt12placeholders2_3E, ptr noundef nonnull align 1 dereferenceable(1) @_ZNSt12placeholders2_4E)
  call void @_ZNSt8functionIFv3ptrIN2ts4data17DiagnosticMessageEEiiNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEEEC2ISt5_BindIFMNS1_7ScannerEFvS4_iiSA_EPSF_St12_PlaceholderILi1EESJ_ILi2EESJ_ILi3EESJ_ILi4EEEEvEEOT_(ptr noundef nonnull align 8 dereferenceable(32) %43, ptr noundef nonnull align 8 dereferenceable(24) %44)
  %629 = invoke noundef i32 @_ZN2ts7Scanner24scanConflictMarkerTriviaERNS_11safe_stringEiSt8functionIFv3ptrINS_4data17DiagnosticMessageEEiiNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEEE(ptr noundef nonnull align 8 dereferenceable(176) %0, ptr noundef nonnull align 8 dereferenceable(32) %93, i32 noundef %627, ptr noundef nonnull %43)
          to label %630 unwind label %633

630:                                              ; preds = %628
  store i32 %629, ptr %86, align 8, !tbaa !5
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %43) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %46) #5
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %45) #5
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %44) #5
  %631 = load i8, ptr %94, align 8, !tbaa !33, !range !34, !noundef !35
  %632 = trunc nuw i8 %631 to i1
  br i1 %632, label %973, label %635, !llvm.loop !36

633:                                              ; preds = %628
  %634 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %43) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %46) #5
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %45) #5
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %44) #5
  br label %976

635:                                              ; preds = %630
  %636 = getelementptr inbounds i8, ptr %0, i64 64
  store i32 7, ptr %636, align 8, !tbaa !32
  br label %.thread187

637:                                              ; preds = %625
  %638 = add nsw i32 %627, 1
  %639 = call noundef i32 @_ZN2ts11safe_stringixEi(ptr noundef nonnull align 8 dereferenceable(32) %93, i32 noundef %638)
  %640 = icmp eq i32 %639, 61
  %641 = load i32, ptr %86, align 8, !tbaa !5
  %642 = getelementptr inbounds i8, ptr %0, i64 64
  br i1 %640, label %643, label %652

643:                                              ; preds = %637
  %644 = add nsw i32 %641, 2
  %645 = call noundef i32 @_ZN2ts11safe_stringixEi(ptr noundef nonnull align 8 dereferenceable(32) %93, i32 noundef %644)
  %646 = icmp eq i32 %645, 61
  %647 = load i32, ptr %86, align 8, !tbaa !5
  br i1 %646, label %648, label %650

648:                                              ; preds = %643
  %649 = add nsw i32 %647, 3
  store i32 %649, ptr %86, align 8, !tbaa !5
  store i32 37, ptr %642, align 8, !tbaa !32
  br label %.thread187

650:                                              ; preds = %643
  %651 = add nsw i32 %647, 2
  store i32 %651, ptr %86, align 8, !tbaa !5
  store i32 35, ptr %642, align 8, !tbaa !32
  br label %.thread187

652:                                              ; preds = %637
  %653 = add nsw i32 %641, 1
  %654 = call noundef i32 @_ZN2ts11safe_stringixEi(ptr noundef nonnull align 8 dereferenceable(32) %93, i32 noundef %653)
  %655 = icmp eq i32 %654, 62
  %656 = load i32, ptr %86, align 8, !tbaa !5
  br i1 %655, label %657, label %659

657:                                              ; preds = %652
  %658 = add nsw i32 %656, 2
  store i32 %658, ptr %86, align 8, !tbaa !5
  store i32 39, ptr %642, align 8, !tbaa !32
  br label %.thread187

659:                                              ; preds = %652
  %660 = add nsw i32 %656, 1
  store i32 %660, ptr %86, align 8, !tbaa !5
  store i32 64, ptr %642, align 8, !tbaa !32
  br label %.thread187

661:                                              ; preds = %131
  %662 = call noundef zeroext i1 @_ZN2ts7Scanner22isConflictMarkerTriviaERNS_11safe_stringEi(ptr noundef nonnull align 8 dereferenceable(176) %0, ptr noundef nonnull align 8 dereferenceable(32) %93, i32 noundef %102)
  %663 = load i32, ptr %86, align 8, !tbaa !5
  br i1 %662, label %664, label %673

664:                                              ; preds = %661
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %48) #5
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %49) #5
  store i64 ptrtoint (ptr @_ZN2ts7Scanner5errorE3ptrINS_4data17DiagnosticMessageEEiiNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEE to i64), ptr %49, align 8, !tbaa !41
  store i64 0, ptr %.fca.1.gep19, align 8, !tbaa !41
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %50) #5
  store ptr %0, ptr %50, align 8, !tbaa !42
  call void @_ZSt4bindIMN2ts7ScannerEFv3ptrINS0_4data17DiagnosticMessageEEiiNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEEJPS1_RKSt12_PlaceholderILi1EERKSF_ILi2EERKSF_ILi3EERKSF_ILi4EEEENSt12_Bind_helperIXsr15__is_socketlikeIT_EE5valueEST_JDpT0_EE4typeEOST_DpOSU_(ptr dead_on_unwind nonnull writable sret(%"class.std::_Bind.147") align 8 %48, ptr noundef nonnull align 8 dereferenceable(16) %49, ptr noundef nonnull align 8 dereferenceable(8) %50, ptr noundef nonnull align 1 dereferenceable(1) @_ZNSt12placeholders2_1E, ptr noundef nonnull align 1 dereferenceable(1) @_ZNSt12placeholders2_2E, ptr noundef nonnull align 1 dereferenceable(1) @_ZNSt12placeholders2_3E, ptr noundef nonnull align 1 dereferenceable(1) @_ZNSt12placeholders2_4E)
  call void @_ZNSt8functionIFv3ptrIN2ts4data17DiagnosticMessageEEiiNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEEEC2ISt5_BindIFMNS1_7ScannerEFvS4_iiSA_EPSF_St12_PlaceholderILi1EESJ_ILi2EESJ_ILi3EESJ_ILi4EEEEvEEOT_(ptr noundef nonnull align 8 dereferenceable(32) %47, ptr noundef nonnull align 8 dereferenceable(24) %48)
  %665 = invoke noundef i32 @_ZN2ts7Scanner24scanConflictMarkerTriviaERNS_11safe_stringEiSt8functionIFv3ptrINS_4data17DiagnosticMessageEEiiNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEEE(ptr noundef nonnull align 8 dereferenceable(176) %0, ptr noundef nonnull align 8 dereferenceable(32) %93, i32 noundef %663, ptr noundef nonnull %47)
          to label %666 unwind label %669

666:                                              ; preds = %664
  store i32 %665, ptr %86, align 8, !tbaa !5
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %47) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %50) #5
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %49) #5
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %48) #5
  %667 = load i8, ptr %94, align 8, !tbaa !33, !range !34, !noundef !35
  %668 = trunc nuw i8 %667 to i1
  br i1 %668, label %973, label %671, !llvm.loop !36

669:                                              ; preds = %664
  %670 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %47) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %50) #5
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %49) #5
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %48) #5
  br label %976

671:                                              ; preds = %666
  %672 = getelementptr inbounds i8, ptr %0, i64 64
  store i32 7, ptr %672, align 8, !tbaa !32
  br label %.thread187

673:                                              ; preds = %661
  %674 = add nsw i32 %663, 1
  store i32 %674, ptr %86, align 8, !tbaa !5
  %675 = getelementptr inbounds i8, ptr %0, i64 64
  store i32 32, ptr %675, align 8, !tbaa !32
  br label %.thread187

676:                                              ; preds = %131
  %677 = add nsw i32 %102, 1
  %678 = call noundef i32 @_ZN2ts11safe_stringixEi(ptr noundef nonnull align 8 dereferenceable(32) %93, i32 noundef %677)
  %679 = icmp eq i32 %678, 46
  br i1 %679, label %680, label %689

680:                                              ; preds = %676
  %681 = load i32, ptr %86, align 8, !tbaa !5
  %682 = add nsw i32 %681, 2
  %683 = call noundef i32 @_ZN2ts11safe_stringixEi(ptr noundef nonnull align 8 dereferenceable(32) %93, i32 noundef %682)
  %684 = call noundef zeroext i1 @_ZN2ts7Scanner7isDigitE14CharacterCodes(ptr noundef nonnull align 8 dereferenceable(176) %0, i32 noundef %683)
  br i1 %684, label %689, label %685

685:                                              ; preds = %680
  %686 = load i32, ptr %86, align 8, !tbaa !5
  %687 = add nsw i32 %686, 2
  store i32 %687, ptr %86, align 8, !tbaa !5
  %688 = getelementptr inbounds i8, ptr %0, i64 64
  store i32 29, ptr %688, align 8, !tbaa !32
  br label %.thread187

689:                                              ; preds = %680, %676
  %690 = load i32, ptr %86, align 8, !tbaa !5
  %691 = add nsw i32 %690, 1
  %692 = call noundef i32 @_ZN2ts11safe_stringixEi(ptr noundef nonnull align 8 dereferenceable(32) %93, i32 noundef %691)
  %693 = icmp eq i32 %692, 63
  %694 = load i32, ptr %86, align 8, !tbaa !5
  br i1 %693, label %695, label %705

695:                                              ; preds = %689
  %696 = add nsw i32 %694, 2
  %697 = call noundef i32 @_ZN2ts11safe_stringixEi(ptr noundef nonnull align 8 dereferenceable(32) %93, i32 noundef %696)
  %698 = icmp eq i32 %697, 61
  %699 = load i32, ptr %86, align 8, !tbaa !5
  %700 = getelementptr inbounds i8, ptr %0, i64 64
  br i1 %698, label %701, label %703

701:                                              ; preds = %695
  %702 = add nsw i32 %699, 3
  store i32 %702, ptr %86, align 8, !tbaa !5
  store i32 78, ptr %700, align 8, !tbaa !32
  br label %.thread187

703:                                              ; preds = %695
  %704 = add nsw i32 %699, 2
  store i32 %704, ptr %86, align 8, !tbaa !5
  store i32 61, ptr %700, align 8, !tbaa !32
  br label %.thread187

705:                                              ; preds = %689
  %706 = add nsw i32 %694, 1
  store i32 %706, ptr %86, align 8, !tbaa !5
  %707 = getelementptr inbounds i8, ptr %0, i64 64
  store i32 58, ptr %707, align 8, !tbaa !32
  br label %.thread187

708:                                              ; preds = %131
  %709 = add nsw i32 %102, 1
  store i32 %709, ptr %86, align 8, !tbaa !5
  %710 = getelementptr inbounds i8, ptr %0, i64 64
  store i32 23, ptr %710, align 8, !tbaa !32
  br label %.thread187

711:                                              ; preds = %131
  %712 = add nsw i32 %102, 1
  store i32 %712, ptr %86, align 8, !tbaa !5
  %713 = getelementptr inbounds i8, ptr %0, i64 64
  store i32 24, ptr %713, align 8, !tbaa !32
  br label %.thread187

714:                                              ; preds = %131
  %715 = add nsw i32 %102, 1
  %716 = call noundef i32 @_ZN2ts11safe_stringixEi(ptr noundef nonnull align 8 dereferenceable(32) %93, i32 noundef %715)
  %717 = icmp eq i32 %716, 61
  %718 = load i32, ptr %86, align 8, !tbaa !5
  %719 = getelementptr inbounds i8, ptr %0, i64 64
  br i1 %717, label %720, label %722

720:                                              ; preds = %714
  %721 = add nsw i32 %718, 2
  store i32 %721, ptr %86, align 8, !tbaa !5
  store i32 79, ptr %719, align 8, !tbaa !32
  br label %.thread187

722:                                              ; preds = %714
  %723 = add nsw i32 %718, 1
  store i32 %723, ptr %86, align 8, !tbaa !5
  store i32 53, ptr %719, align 8, !tbaa !32
  br label %.thread187

724:                                              ; preds = %131
  %725 = add nsw i32 %102, 1
  store i32 %725, ptr %86, align 8, !tbaa !5
  %726 = getelementptr inbounds i8, ptr %0, i64 64
  store i32 19, ptr %726, align 8, !tbaa !32
  br label %.thread187

727:                                              ; preds = %131
  %728 = call noundef zeroext i1 @_ZN2ts7Scanner22isConflictMarkerTriviaERNS_11safe_stringEi(ptr noundef nonnull align 8 dereferenceable(176) %0, ptr noundef nonnull align 8 dereferenceable(32) %93, i32 noundef %102)
  %729 = load i32, ptr %86, align 8, !tbaa !5
  br i1 %728, label %730, label %739

730:                                              ; preds = %727
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %52) #5
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %53) #5
  store i64 ptrtoint (ptr @_ZN2ts7Scanner5errorE3ptrINS_4data17DiagnosticMessageEEiiNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEE to i64), ptr %53, align 8, !tbaa !41
  store i64 0, ptr %.fca.1.gep, align 8, !tbaa !41
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %54) #5
  store ptr %0, ptr %54, align 8, !tbaa !42
  call void @_ZSt4bindIMN2ts7ScannerEFv3ptrINS0_4data17DiagnosticMessageEEiiNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEEJPS1_RKSt12_PlaceholderILi1EERKSF_ILi2EERKSF_ILi3EERKSF_ILi4EEEENSt12_Bind_helperIXsr15__is_socketlikeIT_EE5valueEST_JDpT0_EE4typeEOST_DpOSU_(ptr dead_on_unwind nonnull writable sret(%"class.std::_Bind.147") align 8 %52, ptr noundef nonnull align 8 dereferenceable(16) %53, ptr noundef nonnull align 8 dereferenceable(8) %54, ptr noundef nonnull align 1 dereferenceable(1) @_ZNSt12placeholders2_1E, ptr noundef nonnull align 1 dereferenceable(1) @_ZNSt12placeholders2_2E, ptr noundef nonnull align 1 dereferenceable(1) @_ZNSt12placeholders2_3E, ptr noundef nonnull align 1 dereferenceable(1) @_ZNSt12placeholders2_4E)
  call void @_ZNSt8functionIFv3ptrIN2ts4data17DiagnosticMessageEEiiNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEEEC2ISt5_BindIFMNS1_7ScannerEFvS4_iiSA_EPSF_St12_PlaceholderILi1EESJ_ILi2EESJ_ILi3EESJ_ILi4EEEEvEEOT_(ptr noundef nonnull align 8 dereferenceable(32) %51, ptr noundef nonnull align 8 dereferenceable(24) %52)
  %731 = invoke noundef i32 @_ZN2ts7Scanner24scanConflictMarkerTriviaERNS_11safe_stringEiSt8functionIFv3ptrINS_4data17DiagnosticMessageEEiiNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEEE(ptr noundef nonnull align 8 dereferenceable(176) %0, ptr noundef nonnull align 8 dereferenceable(32) %93, i32 noundef %729, ptr noundef nonnull %51)
          to label %732 unwind label %735

732:                                              ; preds = %730
  store i32 %731, ptr %86, align 8, !tbaa !5
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %51) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %54) #5
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %53) #5
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %52) #5
  %733 = load i8, ptr %94, align 8, !tbaa !33, !range !34, !noundef !35
  %734 = trunc nuw i8 %733 to i1
  br i1 %734, label %973, label %737, !llvm.loop !36

735:                                              ; preds = %730
  %736 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(32) %51) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %54) #5
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %53) #5
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %52) #5
  br label %976

737:                                              ; preds = %732
  %738 = getelementptr inbounds i8, ptr %0, i64 64
  store i32 7, ptr %738, align 8, !tbaa !32
  br label %.thread187

739:                                              ; preds = %727
  %740 = add nsw i32 %729, 1
  %741 = call noundef i32 @_ZN2ts11safe_stringixEi(ptr noundef nonnull align 8 dereferenceable(32) %93, i32 noundef %740)
  %742 = icmp eq i32 %741, 124
  %743 = load i32, ptr %86, align 8, !tbaa !5
  %744 = getelementptr inbounds i8, ptr %0, i64 64
  br i1 %742, label %745, label %754

745:                                              ; preds = %739
  %746 = add nsw i32 %743, 2
  %747 = call noundef i32 @_ZN2ts11safe_stringixEi(ptr noundef nonnull align 8 dereferenceable(32) %93, i32 noundef %746)
  %748 = icmp eq i32 %747, 61
  %749 = load i32, ptr %86, align 8, !tbaa !5
  br i1 %748, label %750, label %752

750:                                              ; preds = %745
  %751 = add nsw i32 %749, 3
  store i32 %751, ptr %86, align 8, !tbaa !5
  store i32 76, ptr %744, align 8, !tbaa !32
  br label %.thread187

752:                                              ; preds = %745
  %753 = add nsw i32 %749, 2
  store i32 %753, ptr %86, align 8, !tbaa !5
  store i32 57, ptr %744, align 8, !tbaa !32
  br label %.thread187

754:                                              ; preds = %739
  %755 = add nsw i32 %743, 1
  %756 = call noundef i32 @_ZN2ts11safe_stringixEi(ptr noundef nonnull align 8 dereferenceable(32) %93, i32 noundef %755)
  %757 = icmp eq i32 %756, 61
  %758 = load i32, ptr %86, align 8, !tbaa !5
  br i1 %757, label %759, label %761

759:                                              ; preds = %754
  %760 = add nsw i32 %758, 2
  store i32 %760, ptr %86, align 8, !tbaa !5
  store i32 75, ptr %744, align 8, !tbaa !32
  br label %.thread187

761:                                              ; preds = %754
  %762 = add nsw i32 %758, 1
  store i32 %762, ptr %86, align 8, !tbaa !5
  store i32 52, ptr %744, align 8, !tbaa !32
  br label %.thread187

763:                                              ; preds = %131
  %764 = add nsw i32 %102, 1
  store i32 %764, ptr %86, align 8, !tbaa !5
  %765 = getelementptr inbounds i8, ptr %0, i64 64
  store i32 20, ptr %765, align 8, !tbaa !32
  br label %.thread187

766:                                              ; preds = %131
  %767 = add nsw i32 %102, 1
  store i32 %767, ptr %86, align 8, !tbaa !5
  %768 = getelementptr inbounds i8, ptr %0, i64 64
  store i32 55, ptr %768, align 8, !tbaa !32
  br label %.thread187

769:                                              ; preds = %131
  %770 = add nsw i32 %102, 1
  store i32 %770, ptr %86, align 8, !tbaa !5
  %771 = getelementptr inbounds i8, ptr %0, i64 64
  store i32 60, ptr %771, align 8, !tbaa !32
  br label %.thread187

772:                                              ; preds = %131
  %773 = call noundef i32 @_ZN2ts7Scanner25peekExtendedUnicodeEscapeEv(ptr noundef nonnull align 8 dereferenceable(176) %0)
  %774 = icmp sgt i32 %773, -1
  br i1 %774, label %775, label %793

775:                                              ; preds = %772
  %776 = load i32, ptr %97, align 4, !tbaa !44
  %777 = call noundef zeroext i1 @_ZN2ts7Scanner17isIdentifierStartE14CharacterCodesNS_12ScriptTargetE(ptr noundef nonnull align 8 dereferenceable(176) %0, i32 noundef %773, i32 noundef %776)
  br i1 %777, label %778, label %793

778:                                              ; preds = %775
  %779 = load i32, ptr %86, align 8, !tbaa !5
  %780 = add nsw i32 %779, 3
  store i32 %780, ptr %86, align 8, !tbaa !5
  %781 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN2tsoRERNS_10TokenFlagsES0_(ptr noundef nonnull align 4 dereferenceable(4) %89, i32 noundef 8)
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %55) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %56) #5
  call void @_ZN2ts7Scanner25scanExtendedUnicodeEscapeB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %56, ptr noundef nonnull align 8 dereferenceable(176) %0)
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %57) #5
  invoke void @_ZN2ts7Scanner19scanIdentifierPartsB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %57, ptr noundef nonnull align 8 dereferenceable(176) %0)
          to label %782 unwind label %788

782:                                              ; preds = %778
  invoke void @_ZStplIwSt11char_traitsIwESaIwEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %55, ptr noundef nonnull align 8 dereferenceable(32) %56, ptr noundef nonnull align 8 dereferenceable(32) %57)
          to label %783 unwind label %790

783:                                              ; preds = %782
  %784 = getelementptr inbounds i8, ptr %0, i64 72
  %785 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEaSEOS4_(ptr noundef nonnull align 8 dereferenceable(32) %784, ptr noundef nonnull align 8 dereferenceable(32) %55) #5
  call void @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %55) #5
  call void @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %57) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %57) #5
  call void @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %56) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %56) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %55) #5
  %786 = call noundef i32 @_ZN2ts7Scanner18getIdentifierTokenEv(ptr noundef nonnull align 8 dereferenceable(176) %0)
  %787 = getelementptr inbounds i8, ptr %0, i64 64
  store i32 %786, ptr %787, align 8, !tbaa !32
  br label %.thread187

788:                                              ; preds = %778
  %789 = landingpad { ptr, i32 }
          cleanup
  br label %792

790:                                              ; preds = %782
  %791 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %57) #5
  br label %792

792:                                              ; preds = %790, %788
  %.pn144 = phi { ptr, i32 } [ %791, %790 ], [ %789, %788 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %57) #5
  call void @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %56) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %56) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %55) #5
  br label %976

793:                                              ; preds = %775, %772
  %794 = call noundef i32 @_ZN2ts7Scanner17peekUnicodeEscapeEv(ptr noundef nonnull align 8 dereferenceable(176) %0)
  %795 = icmp sgt i32 %794, -1
  br i1 %795, label %796, label %818

796:                                              ; preds = %793
  %797 = load i32, ptr %97, align 4, !tbaa !44
  %798 = call noundef zeroext i1 @_ZN2ts7Scanner17isIdentifierStartE14CharacterCodesNS_12ScriptTargetE(ptr noundef nonnull align 8 dereferenceable(176) %0, i32 noundef %794, i32 noundef %797)
  br i1 %798, label %799, label %818

799:                                              ; preds = %796
  %800 = load i32, ptr %86, align 8, !tbaa !5
  %801 = add nsw i32 %800, 6
  store i32 %801, ptr %86, align 8, !tbaa !5
  %802 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN2tsoRERNS_10TokenFlagsES0_(ptr noundef nonnull align 4 dereferenceable(4) %89, i32 noundef 1024)
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %58) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %59) #5
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %60) #5
  call void @_ZNSaIwEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %60) #5
  invoke void @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2IS3_EEmwRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %59, i64 noundef 1, i32 noundef signext %794, ptr noundef nonnull align 1 dereferenceable(1) %60)
          to label %803 unwind label %810

803:                                              ; preds = %799
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %61) #5
  invoke void @_ZN2ts7Scanner19scanIdentifierPartsB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %61, ptr noundef nonnull align 8 dereferenceable(176) %0)
          to label %804 unwind label %812

804:                                              ; preds = %803
  invoke void @_ZStplIwSt11char_traitsIwESaIwEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %58, ptr noundef nonnull align 8 dereferenceable(32) %59, ptr noundef nonnull align 8 dereferenceable(32) %61)
          to label %805 unwind label %814

805:                                              ; preds = %804
  %806 = getelementptr inbounds i8, ptr %0, i64 72
  %807 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEaSEOS4_(ptr noundef nonnull align 8 dereferenceable(32) %806, ptr noundef nonnull align 8 dereferenceable(32) %58) #5
  call void @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %58) #5
  call void @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %61) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %61) #5
  call void @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %59) #5
  call void @_ZNSt15__new_allocatorIwED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %60) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %60) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %59) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %58) #5
  %808 = call noundef i32 @_ZN2ts7Scanner18getIdentifierTokenEv(ptr noundef nonnull align 8 dereferenceable(176) %0)
  %809 = getelementptr inbounds i8, ptr %0, i64 64
  store i32 %808, ptr %809, align 8, !tbaa !32
  br label %.thread187

810:                                              ; preds = %799
  %811 = landingpad { ptr, i32 }
          cleanup
  br label %817

812:                                              ; preds = %803
  %813 = landingpad { ptr, i32 }
          cleanup
  br label %816

814:                                              ; preds = %804
  %815 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %61) #5
  br label %816

816:                                              ; preds = %814, %812
  %.pn140 = phi { ptr, i32 } [ %815, %814 ], [ %813, %812 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %61) #5
  call void @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %59) #5
  br label %817

817:                                              ; preds = %816, %810
  %.pn140.pn = phi { ptr, i32 } [ %.pn140, %816 ], [ %811, %810 ]
  call void @_ZNSt15__new_allocatorIwED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %60) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %60) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %59) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %58) #5
  br label %976

818:                                              ; preds = %796, %793
  call void @llvm.lifetime.start.p0(i64 128, ptr nonnull %63) #5
  call void @_ZN2ts4data17DiagnosticMessageC2ERNS_22DiagnosticMessageStoreE(ptr noundef nonnull align 8 dereferenceable(121) %63, ptr noundef nonnull align 8 dereferenceable(72) @_ZN2ts11DiagnosticsL17Invalid_characterE)
  invoke void @_ZN3ptrIN2ts4data17DiagnosticMessageEEC2ERKS2_(ptr noundef nonnull align 8 dereferenceable(16) %62, ptr noundef nonnull align 8 dereferenceable(121) %63)
          to label %819 unwind label %825

819:                                              ; preds = %818
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %65) #5
  call void @_ZNSaIwEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %65) #5
  invoke void @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2IS3_EEPKwRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %64, ptr noundef nonnull @.str.6452, ptr noundef nonnull align 1 dereferenceable(1) %65)
          to label %820 unwind label %827

820:                                              ; preds = %819
  invoke void @_ZN2ts7Scanner5errorE3ptrINS_4data17DiagnosticMessageEEiiNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEE(ptr noundef nonnull align 8 dereferenceable(176) %0, ptr noundef nonnull %62, i32 noundef -1, i32 noundef 0, ptr noundef nonnull %64)
          to label %821 unwind label %829

821:                                              ; preds = %820
  call void @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %64) #5
  call void @_ZNSt15__new_allocatorIwED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %65) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %65) #5
  call void @_ZN3ptrIN2ts4data17DiagnosticMessageEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %62) #5
  call void @_ZN2ts4data17DiagnosticMessageD2Ev(ptr noundef nonnull align 8 dereferenceable(121) %63) #5
  call void @llvm.lifetime.end.p0(i64 128, ptr nonnull %63) #5
  %822 = load i32, ptr %86, align 8, !tbaa !5
  %823 = add nsw i32 %822, 1
  store i32 %823, ptr %86, align 8, !tbaa !5
  %824 = getelementptr inbounds i8, ptr %0, i64 64
  store i32 0, ptr %824, align 8, !tbaa !32
  br label %.thread187

825:                                              ; preds = %818
  %826 = landingpad { ptr, i32 }
          cleanup
  br label %832

827:                                              ; preds = %819
  %828 = landingpad { ptr, i32 }
          cleanup
  br label %831

829:                                              ; preds = %820
  %830 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %64) #5
  br label %831

831:                                              ; preds = %829, %827
  %.pn137 = phi { ptr, i32 } [ %830, %829 ], [ %828, %827 ]
  call void @_ZNSt15__new_allocatorIwED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %65) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %65) #5
  call void @_ZN3ptrIN2ts4data17DiagnosticMessageEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %62) #5
  br label %832

832:                                              ; preds = %831, %825
  %.pn137.pn = phi { ptr, i32 } [ %.pn137, %831 ], [ %826, %825 ]
  call void @_ZN2ts4data17DiagnosticMessageD2Ev(ptr noundef nonnull align 8 dereferenceable(121) %63) #5
  call void @llvm.lifetime.end.p0(i64 128, ptr nonnull %63) #5
  br label %976

.thread:                                          ; preds = %131, %..thread_crit_edge
  %833 = phi i32 [ %.pre, %..thread_crit_edge ], [ %102, %131 ]
  %.not123 = icmp eq i32 %833, 0
  br i1 %.not123, label %853, label %834

834:                                              ; preds = %.thread
  %835 = add nsw i32 %833, 1
  %836 = call noundef i32 @_ZN2ts11safe_stringixEi(ptr noundef nonnull align 8 dereferenceable(32) %93, i32 noundef %835)
  %837 = icmp eq i32 %836, 33
  br i1 %837, label %838, label %._crit_edge446

._crit_edge446:                                   ; preds = %834
  %.pre447 = load i32, ptr %86, align 8, !tbaa !5
  br label %853

838:                                              ; preds = %834
  call void @llvm.lifetime.start.p0(i64 128, ptr nonnull %67) #5
  call void @_ZN2ts4data17DiagnosticMessageC2ERNS_22DiagnosticMessageStoreE(ptr noundef nonnull align 8 dereferenceable(121) %67, ptr noundef nonnull align 8 dereferenceable(72) @_ZN2ts11DiagnosticsL39can_only_be_used_at_the_start_of_a_fileE)
  invoke void @_ZN3ptrIN2ts4data17DiagnosticMessageEEC2ERKS2_(ptr noundef nonnull align 8 dereferenceable(16) %66, ptr noundef nonnull align 8 dereferenceable(121) %67)
          to label %839 unwind label %845

839:                                              ; preds = %838
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %69) #5
  call void @_ZNSaIwEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %69) #5
  invoke void @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2IS3_EEPKwRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %68, ptr noundef nonnull @.str.6452, ptr noundef nonnull align 1 dereferenceable(1) %69)
          to label %840 unwind label %847

840:                                              ; preds = %839
  invoke void @_ZN2ts7Scanner5errorE3ptrINS_4data17DiagnosticMessageEEiiNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEE(ptr noundef nonnull align 8 dereferenceable(176) %0, ptr noundef nonnull %66, i32 noundef -1, i32 noundef 0, ptr noundef nonnull %68)
          to label %841 unwind label %849

841:                                              ; preds = %840
  call void @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %68) #5
  call void @_ZNSt15__new_allocatorIwED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %69) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %69) #5
  call void @_ZN3ptrIN2ts4data17DiagnosticMessageEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %66) #5
  call void @_ZN2ts4data17DiagnosticMessageD2Ev(ptr noundef nonnull align 8 dereferenceable(121) %67) #5
  call void @llvm.lifetime.end.p0(i64 128, ptr nonnull %67) #5
  %842 = load i32, ptr %86, align 8, !tbaa !5
  %843 = add nsw i32 %842, 1
  store i32 %843, ptr %86, align 8, !tbaa !5
  %844 = getelementptr inbounds i8, ptr %0, i64 64
  store i32 0, ptr %844, align 8, !tbaa !32
  br label %.thread187

845:                                              ; preds = %838
  %846 = landingpad { ptr, i32 }
          cleanup
  br label %852

847:                                              ; preds = %839
  %848 = landingpad { ptr, i32 }
          cleanup
  br label %851

849:                                              ; preds = %840
  %850 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %68) #5
  br label %851

851:                                              ; preds = %849, %847
  %.pn134 = phi { ptr, i32 } [ %850, %849 ], [ %848, %847 ]
  call void @_ZNSt15__new_allocatorIwED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %69) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %69) #5
  call void @_ZN3ptrIN2ts4data17DiagnosticMessageEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %66) #5
  br label %852

852:                                              ; preds = %851, %845
  %.pn134.pn = phi { ptr, i32 } [ %.pn134, %851 ], [ %846, %845 ]
  call void @_ZN2ts4data17DiagnosticMessageD2Ev(ptr noundef nonnull align 8 dereferenceable(121) %67) #5
  call void @llvm.lifetime.end.p0(i64 128, ptr nonnull %67) #5
  br label %976

853:                                              ; preds = %._crit_edge446, %.thread
  %854 = phi i32 [ %.pre447, %._crit_edge446 ], [ 0, %.thread ]
  %855 = add nsw i32 %854, 1
  %856 = call noundef i32 @_ZN2ts7Scanner11codePointAtERNS_11safe_stringEi(ptr noundef nonnull align 8 dereferenceable(176) %0, ptr noundef nonnull align 8 dereferenceable(32) %93, i32 noundef %855)
  %857 = icmp eq i32 %856, 92
  br i1 %857, label %858, label %911

858:                                              ; preds = %853
  %859 = load i32, ptr %86, align 8, !tbaa !5
  %860 = add nsw i32 %859, 1
  store i32 %860, ptr %86, align 8, !tbaa !5
  %861 = call noundef i32 @_ZN2ts7Scanner25peekExtendedUnicodeEscapeEv(ptr noundef nonnull align 8 dereferenceable(176) %0)
  %862 = icmp sgt i32 %861, -1
  br i1 %862, label %863, label %884

863:                                              ; preds = %858
  %864 = load i32, ptr %97, align 4, !tbaa !44
  %865 = call noundef zeroext i1 @_ZN2ts7Scanner17isIdentifierStartE14CharacterCodesNS_12ScriptTargetE(ptr noundef nonnull align 8 dereferenceable(176) %0, i32 noundef %861, i32 noundef %864)
  br i1 %865, label %866, label %884

866:                                              ; preds = %863
  %867 = load i32, ptr %86, align 8, !tbaa !5
  %868 = add nsw i32 %867, 3
  store i32 %868, ptr %86, align 8, !tbaa !5
  %869 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN2tsoRERNS_10TokenFlagsES0_(ptr noundef nonnull align 4 dereferenceable(4) %89, i32 noundef 8)
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %70) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %71) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %72) #5
  call void @_ZN2ts7Scanner25scanExtendedUnicodeEscapeB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %72, ptr noundef nonnull align 8 dereferenceable(176) %0)
  invoke void @_ZStplIwSt11char_traitsIwESaIwEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %71, ptr noundef nonnull @.str.6469, ptr noundef nonnull align 8 dereferenceable(32) %72)
          to label %870 unwind label %876

870:                                              ; preds = %866
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %73) #5
  invoke void @_ZN2ts7Scanner19scanIdentifierPartsB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %73, ptr noundef nonnull align 8 dereferenceable(176) %0)
          to label %871 unwind label %878

871:                                              ; preds = %870
  invoke void @_ZStplIwSt11char_traitsIwESaIwEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %70, ptr noundef nonnull align 8 dereferenceable(32) %71, ptr noundef nonnull align 8 dereferenceable(32) %73)
          to label %872 unwind label %880

872:                                              ; preds = %871
  %873 = getelementptr inbounds i8, ptr %0, i64 72
  %874 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEaSEOS4_(ptr noundef nonnull align 8 dereferenceable(32) %873, ptr noundef nonnull align 8 dereferenceable(32) %70) #5
  call void @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %70) #5
  call void @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %73) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %73) #5
  call void @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %71) #5
  call void @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %72) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %72) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %71) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %70) #5
  %875 = getelementptr inbounds i8, ptr %0, i64 64
  store i32 81, ptr %875, align 8, !tbaa !32
  br label %.thread187

876:                                              ; preds = %866
  %877 = landingpad { ptr, i32 }
          cleanup
  br label %883

878:                                              ; preds = %870
  %879 = landingpad { ptr, i32 }
          cleanup
  br label %882

880:                                              ; preds = %871
  %881 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %73) #5
  br label %882

882:                                              ; preds = %880, %878
  %.pn126 = phi { ptr, i32 } [ %881, %880 ], [ %879, %878 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %73) #5
  call void @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %71) #5
  br label %883

883:                                              ; preds = %882, %876
  %.pn126.pn = phi { ptr, i32 } [ %.pn126, %882 ], [ %877, %876 ]
  call void @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %72) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %72) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %71) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %70) #5
  br label %976

884:                                              ; preds = %863, %858
  %885 = call noundef i32 @_ZN2ts7Scanner17peekUnicodeEscapeEv(ptr noundef nonnull align 8 dereferenceable(176) %0)
  %886 = icmp sgt i32 %885, -1
  br i1 %886, label %887, label %908

887:                                              ; preds = %884
  %888 = load i32, ptr %97, align 4, !tbaa !44
  %889 = call noundef zeroext i1 @_ZN2ts7Scanner17isIdentifierStartE14CharacterCodesNS_12ScriptTargetE(ptr noundef nonnull align 8 dereferenceable(176) %0, i32 noundef %885, i32 noundef %888)
  br i1 %889, label %890, label %908

890:                                              ; preds = %887
  %891 = load i32, ptr %86, align 8, !tbaa !5
  %892 = add nsw i32 %891, 6
  store i32 %892, ptr %86, align 8, !tbaa !5
  %893 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN2tsoRERNS_10TokenFlagsES0_(ptr noundef nonnull align 4 dereferenceable(4) %89, i32 noundef 1024)
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %74) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %75) #5
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %76) #5
  call void @_ZN2ts12fromCharCodeB5cxx11Ew(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %76, i32 noundef signext %885)
  invoke void @_ZStplIwSt11char_traitsIwESaIwEENSt7__cxx1112basic_stringIT_T0_T1_EEPKS5_OS8_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %75, ptr noundef nonnull @.str.6469, ptr noundef nonnull align 8 dereferenceable(32) %76)
          to label %894 unwind label %900

894:                                              ; preds = %890
  call void @llvm.lifetime.start.p0(i64 32, ptr nonnull %77) #5
  invoke void @_ZN2ts7Scanner19scanIdentifierPartsB5cxx11Ev(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %77, ptr noundef nonnull align 8 dereferenceable(176) %0)
          to label %895 unwind label %902

895:                                              ; preds = %894
  invoke void @_ZStplIwSt11char_traitsIwESaIwEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_(ptr dead_on_unwind nonnull writable sret(%"class.std::__cxx11::basic_string") align 8 %74, ptr noundef nonnull align 8 dereferenceable(32) %75, ptr noundef nonnull align 8 dereferenceable(32) %77)
          to label %896 unwind label %904

896:                                              ; preds = %895
  %897 = getelementptr inbounds i8, ptr %0, i64 72
  %898 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEaSEOS4_(ptr noundef nonnull align 8 dereferenceable(32) %897, ptr noundef nonnull align 8 dereferenceable(32) %74) #5
  call void @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %74) #5
  call void @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %77) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %77) #5
  call void @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %75) #5
  call void @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %76) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %76) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %75) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %74) #5
  %899 = getelementptr inbounds i8, ptr %0, i64 64
  store i32 81, ptr %899, align 8, !tbaa !32
  br label %.thread187

900:                                              ; preds = %890
  %901 = landingpad { ptr, i32 }
          cleanup
  br label %907

902:                                              ; preds = %894
  %903 = landingpad { ptr, i32 }
          cleanup
  br label %906

904:                                              ; preds = %895
  %905 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %77) #5
  br label %906

906:                                              ; preds = %904, %902
  %.pn = phi { ptr, i32 } [ %905, %904 ], [ %903, %902 ]
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %77) #5
  call void @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %75) #5
  br label %907

907:                                              ; preds = %906, %900
  %.pn.pn = phi { ptr, i32 } [ %.pn, %906 ], [ %901, %900 ]
  call void @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %76) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %76) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %75) #5
  call void @llvm.lifetime.end.p0(i64 32, ptr nonnull %74) #5
  br label %976

908:                                              ; preds = %884, %887
  %909 = load i32, ptr %86, align 8, !tbaa !5
  %910 = add nsw i32 %909, -1
  store i32 %910, ptr %86, align 8, !tbaa !5
  br label %911

911:                                              ; preds = %908, %853
  %912 = load i32, ptr %97, align 4, !tbaa !44
  %913 = call noundef zeroext i1 @_ZN2ts7Scanner17isIdentifierStartE14CharacterCodesNS_12ScriptTargetE(ptr noundef nonnull align 8 dereferenceable(176) %0, i32 noundef %856, i32 noundef %912)
  br i1 %913, label %914, label %919

914:                                              ; preds = %911
  %915 = load i32, ptr %86, align 8, !tbaa !5
  %916 = add nsw i32 %915, 1
  store i32 %916, ptr %86, align 8, !tbaa !5
  %917 = load i32, ptr %97, align 4, !tbaa !44
  %918 = call noundef i32 @_ZN2ts7Scanner14scanIdentifierE14CharacterCodesNS_12ScriptTargetE(ptr noundef nonnull align 8 dereferenceable(176) %0, i32 noundef %856, i32 noundef %917)
  br label %936

919:                                              ; preds = %911
  %920 = getelementptr inbounds i8, ptr %0, i64 72
  %921 = call noundef nonnull align 8 dereferenceable(32) ptr @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEaSEPKw(ptr noundef nonnull align 8 dereferenceable(32) %920, ptr noundef nonnull @.str.6469)
  call void @llvm.lifetime.start.p0(i64 128, ptr nonnull %79) #5
  call void @_ZN2ts4data17DiagnosticMessageC2ERNS_22DiagnosticMessageStoreE(ptr noundef nonnull align 8 dereferenceable(121) %79, ptr noundef nonnull align 8 dereferenceable(72) @_ZN2ts11DiagnosticsL17Invalid_characterE)
  invoke void @_ZN3ptrIN2ts4data17DiagnosticMessageEEC2ERKS2_(ptr noundef nonnull align 8 dereferenceable(16) %78, ptr noundef nonnull align 8 dereferenceable(121) %79)
          to label %922 unwind label %928

922:                                              ; preds = %919
  %923 = load i32, ptr %86, align 8, !tbaa !5
  %924 = add nsw i32 %923, 1
  store i32 %924, ptr %86, align 8, !tbaa !5
  %925 = call noundef i32 @_ZN2ts7Scanner8charSizeE14CharacterCodes(ptr noundef nonnull align 8 dereferenceable(176) %0, i32 noundef 35)
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %81) #5
  call void @_ZNSaIwEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %81) #5
  invoke void @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2IS3_EEPKwRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %80, ptr noundef nonnull @.str.6452, ptr noundef nonnull align 1 dereferenceable(1) %81)
          to label %926 unwind label %930

926:                                              ; preds = %922
  invoke void @_ZN2ts7Scanner5errorE3ptrINS_4data17DiagnosticMessageEEiiNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEE(ptr noundef nonnull align 8 dereferenceable(176) %0, ptr noundef nonnull %78, i32 noundef %923, i32 noundef %925, ptr noundef nonnull %80)
          to label %927 unwind label %932

927:                                              ; preds = %926
  call void @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %80) #5
  call void @_ZNSt15__new_allocatorIwED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %81) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %81) #5
  call void @_ZN3ptrIN2ts4data17DiagnosticMessageEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %78) #5
  call void @_ZN2ts4data17DiagnosticMessageD2Ev(ptr noundef nonnull align 8 dereferenceable(121) %79) #5
  call void @llvm.lifetime.end.p0(i64 128, ptr nonnull %79) #5
  br label %936

928:                                              ; preds = %919
  %929 = landingpad { ptr, i32 }
          cleanup
  br label %935

930:                                              ; preds = %922
  %931 = landingpad { ptr, i32 }
          cleanup
  br label %934

932:                                              ; preds = %926
  %933 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %80) #5
  br label %934

934:                                              ; preds = %932, %930
  %.pn130 = phi { ptr, i32 } [ %933, %932 ], [ %931, %930 ]
  call void @_ZNSt15__new_allocatorIwED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %81) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %81) #5
  call void @_ZN3ptrIN2ts4data17DiagnosticMessageEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %78) #5
  br label %935

935:                                              ; preds = %934, %928
  %.pn130.pn = phi { ptr, i32 } [ %.pn130, %934 ], [ %929, %928 ]
  call void @_ZN2ts4data17DiagnosticMessageD2Ev(ptr noundef nonnull align 8 dereferenceable(121) %79) #5
  call void @llvm.lifetime.end.p0(i64 128, ptr nonnull %79) #5
  br label %976

936:                                              ; preds = %927, %914
  %937 = getelementptr inbounds i8, ptr %0, i64 64
  store i32 81, ptr %937, align 8, !tbaa !32
  br label %.thread187

938:                                              ; preds = %131
  %939 = load i32, ptr %97, align 4, !tbaa !44
  %940 = call noundef i32 @_ZN2ts7Scanner14scanIdentifierE14CharacterCodesNS_12ScriptTargetE(ptr noundef nonnull align 8 dereferenceable(176) %0, i32 noundef %101, i32 noundef %939)
  %.not167 = icmp eq i32 %940, 0
  br i1 %.not167, label %943, label %941

941:                                              ; preds = %938
  %942 = getelementptr inbounds i8, ptr %0, i64 64
  store i32 %940, ptr %942, align 8, !tbaa !32
  br label %.thread187

943:                                              ; preds = %938
  %944 = call noundef zeroext i1 @_ZN2ts7Scanner22isWhiteSpaceSingleLineE14CharacterCodes(ptr noundef nonnull align 8 dereferenceable(176) %0, i32 noundef %101)
  br i1 %944, label %945, label %949

945:                                              ; preds = %943
  %946 = call noundef i32 @_ZN2ts7Scanner8charSizeE14CharacterCodes(ptr noundef nonnull align 8 dereferenceable(176) %0, i32 noundef %101)
  %947 = load i32, ptr %86, align 8, !tbaa !5
  %948 = add nsw i32 %947, %946
  br label %.sink.split, !llvm.loop !36

949:                                              ; preds = %943
  %950 = call noundef zeroext i1 @_ZN2ts7Scanner11isLineBreakE14CharacterCodes(ptr noundef nonnull align 8 dereferenceable(176) %0, i32 noundef %101)
  br i1 %950, label %951, label %956

951:                                              ; preds = %949
  %952 = call noundef nonnull align 4 dereferenceable(4) ptr @_ZN2tsoRERNS_10TokenFlagsES0_(ptr noundef nonnull align 4 dereferenceable(4) %89, i32 noundef 1)
  %953 = call noundef i32 @_ZN2ts7Scanner8charSizeE14CharacterCodes(ptr noundef nonnull align 8 dereferenceable(176) %0, i32 noundef %101)
  %954 = load i32, ptr %86, align 8, !tbaa !5
  %955 = add nsw i32 %954, %953
  br label %.sink.split, !llvm.loop !36

956:                                              ; preds = %949
  %957 = call noundef i32 @_ZN2ts7Scanner8charSizeE14CharacterCodes(ptr noundef nonnull align 8 dereferenceable(176) %0, i32 noundef %101)
  call void @llvm.lifetime.start.p0(i64 128, ptr nonnull %83) #5
  call void @_ZN2ts4data17DiagnosticMessageC2ERNS_22DiagnosticMessageStoreE(ptr noundef nonnull align 8 dereferenceable(121) %83, ptr noundef nonnull align 8 dereferenceable(72) @_ZN2ts11DiagnosticsL17Invalid_characterE)
  invoke void @_ZN3ptrIN2ts4data17DiagnosticMessageEEC2ERKS2_(ptr noundef nonnull align 8 dereferenceable(16) %82, ptr noundef nonnull align 8 dereferenceable(121) %83)
          to label %958 unwind label %965

958:                                              ; preds = %956
  %959 = load i32, ptr %86, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %85) #5
  call void @_ZNSaIwEC2Ev(ptr noundef nonnull align 1 dereferenceable(1) %85) #5
  invoke void @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEC2IS3_EEPKwRKS3_(ptr noundef nonnull align 8 dereferenceable(32) %84, ptr noundef nonnull @.str.6452, ptr noundef nonnull align 1 dereferenceable(1) %85)
          to label %960 unwind label %967

960:                                              ; preds = %958
  invoke void @_ZN2ts7Scanner5errorE3ptrINS_4data17DiagnosticMessageEEiiNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEE(ptr noundef nonnull align 8 dereferenceable(176) %0, ptr noundef nonnull %82, i32 noundef %959, i32 noundef %957, ptr noundef nonnull %84)
          to label %961 unwind label %969

961:                                              ; preds = %960
  call void @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %84) #5
  call void @_ZNSt15__new_allocatorIwED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %85) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %85) #5
  call void @_ZN3ptrIN2ts4data17DiagnosticMessageEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %82) #5
  call void @_ZN2ts4data17DiagnosticMessageD2Ev(ptr noundef nonnull align 8 dereferenceable(121) %83) #5
  call void @llvm.lifetime.end.p0(i64 128, ptr nonnull %83) #5
  %962 = load i32, ptr %86, align 8, !tbaa !5
  %963 = add nsw i32 %962, %957
  store i32 %963, ptr %86, align 8, !tbaa !5
  %964 = getelementptr inbounds i8, ptr %0, i64 64
  store i32 0, ptr %964, align 8, !tbaa !32
  br label %.thread187

965:                                              ; preds = %956
  %966 = landingpad { ptr, i32 }
          cleanup
  br label %972

967:                                              ; preds = %958
  %968 = landingpad { ptr, i32 }
          cleanup
  br label %971

969:                                              ; preds = %960
  %970 = landingpad { ptr, i32 }
          cleanup
  call void @_ZNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEED2Ev(ptr noundef nonnull align 8 dereferenceable(32) %84) #5
  br label %971

971:                                              ; preds = %969, %967
  %.pn168 = phi { ptr, i32 } [ %970, %969 ], [ %968, %967 ]
  call void @_ZNSt15__new_allocatorIwED2Ev(ptr noundef nonnull align 1 dereferenceable(1) %85) #5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %85) #5
  call void @_ZN3ptrIN2ts4data17DiagnosticMessageEED2Ev(ptr noundef nonnull align 8 dereferenceable(16) %82) #5
  br label %972

972:                                              ; preds = %971, %965
  %.pn168.pn = phi { ptr, i32 } [ %.pn168, %971 ], [ %966, %965 ]
  call void @_ZN2ts4data17DiagnosticMessageD2Ev(ptr noundef nonnull align 8 dereferenceable(121) %83) #5
  call void @llvm.lifetime.end.p0(i64 128, ptr nonnull %83) #5
  br label %976

.sink.split:                                      ; preds = %136, %160, %951, %945
  %.sink = phi i32 [ %948, %945 ], [ %955, %951 ], [ %161, %160 ], [ %138, %136 ]
  store i32 %.sink, ptr %86, align 8, !tbaa !5
  br label %973

973:                                              ; preds = %.sink.split, %.thread180, %732, %666, %630, %574, %432, %353, %262, %123
  %.150 = phi i1 [ %.049377, %123 ], [ true, %262 ], [ %.049377, %353 ], [ %.049377, %432 ], [ %.049377, %574 ], [ %.049377, %630 ], [ %.049377, %666 ], [ %.049377, %732 ], [ %.049377, %.thread180 ], [ %.049377, %.sink.split ]
  %974 = load i32, ptr %86, align 8, !tbaa !5
  store i32 %974, ptr %90, align 4, !tbaa !30
  %975 = load i32, ptr %91, align 4, !tbaa !31
  %.not = icmp slt i32 %974, %975
  br i1 %.not, label %99, label %._crit_edge380

976:                                              ; preds = %935, %907, %883, %792, %832, %817, %423, %431, %972, %852, %735, %669, %633, %577, %555, %518, %481, %361, %118
  %.pn171.pn.pn = phi { ptr, i32 } [ %.pn171.pn, %118 ], [ %.pn168.pn, %972 ], [ %.pn134.pn, %852 ], [ %736, %735 ], [ %670, %669 ], [ %634, %633 ], [ %578, %577 ], [ %.pn154.pn, %481 ], [ %.pn151.pn, %518 ], [ %.pn148.pn, %555 ], [ %.pn163, %361 ], [ %.pn159.pn, %431 ], [ %.pn157, %423 ], [ %.pn144, %792 ], [ %.pn140.pn, %817 ], [ %.pn137.pn, %832 ], [ %.pn130.pn, %935 ], [ %.pn126.pn, %883 ], [ %.pn.pn, %907 ]
  resume { ptr, i32 } %.pn171.pn.pn

.thread187:                                       ; preds = %896, %872, %961, %941, %936, %783, %821, %805, %.loopexit193, %153, %.critedge, %186, %184, %182, %189, %193, %204, %202, %228, %226, %219, %217, %230, %233, %266, %257, %255, %241, %284, %282, %273, %286, %305, %303, %294, %328, %324, %311, %448, %446, %362, %556, %519, %482, %.loopexit192, %563, %566, %621, %617, %600, %594, %592, %579, %659, %657, %650, %648, %635, %673, %671, %685, %705, %703, %701, %708, %711, %722, %720, %724, %761, %759, %752, %750, %737, %763, %766, %769, %841, %129, %108, %._crit_edge380
  %.9 = phi i32 [ 1, %._crit_edge380 ], [ 0, %961 ], [ %940, %941 ], [ 81, %936 ], [ 0, %821 ], [ %808, %805 ], [ %786, %783 ], [ 3, %.loopexit193 ], [ 4, %153 ], [ 5, %.critedge ], [ 54, %186 ], [ 36, %184 ], [ 38, %182 ], [ 11, %189 ], [ %194, %193 ], [ 45, %204 ], [ 70, %202 ], [ 51, %228 ], [ 74, %226 ], [ 56, %219 ], [ 77, %217 ], [ 21, %230 ], [ 22, %233 ], [ 42, %266 ], [ 43, %257 ], [ 68, %255 ], [ 67, %241 ], [ 40, %284 ], [ 65, %282 ], [ 46, %273 ], [ 28, %286 ], [ 41, %305 ], [ 66, %303 ], [ 47, %294 ], [ 25, %328 ], [ 26, %324 ], [ 9, %311 ], [ 44, %448 ], [ 69, %446 ], [ 2, %362 ], [ %559, %556 ], [ %522, %519 ], [ %485, %482 ], [ %561, %.loopexit192 ], [ 59, %563 ], [ 27, %566 ], [ 30, %621 ], [ 31, %617 ], [ 33, %600 ], [ 48, %594 ], [ 71, %592 ], [ 7, %579 ], [ 64, %659 ], [ 39, %657 ], [ 35, %650 ], [ 37, %648 ], [ 7, %635 ], [ 32, %673 ], [ 7, %671 ], [ 29, %685 ], [ 58, %705 ], [ 61, %703 ], [ 78, %701 ], [ 23, %708 ], [ 24, %711 ], [ 53, %722 ], [ 79, %720 ], [ 19, %724 ], [ 52, %761 ], [ 75, %759 ], [ 57, %752 ], [ 76, %750 ], [ 7, %737 ], [ 20, %763 ], [ 55, %766 ], [ 60, %769 ], [ 0, %841 ], [ 6, %129 ], [ 8, %108 ], [ 81, %872 ], [ 81, %896 ]
  ret i32 %.9
}

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZN2ts7Scanner24appendIfCommentDirectiveESt6vectorI3ptrINS_4data16CommentDirectiveEESaIS5_EENSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEENS8_11basic_regexIwNS8_12regex_traitsIwEEEENS_8pos_typeE(ptr dead_on_unwind noalias writable sret(%"class.std::vector.41") align 8, ptr noundef nonnull align 8 dereferenceable(176), ptr noundef, ptr noundef, ptr noundef, i64) local_unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNSt6vectorI3ptrIN2ts4data16CommentDirectiveEESaIS4_EEC2ERKS6_(ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24)) unnamed_addr #2 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZNSt7__cxx1111basic_regexIwNS_12regex_traitsIwEEEC2ERKS3_(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(32)) unnamed_addr #1 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZN2ts8pos_typeC2Ei(ptr noundef nonnull align 4 dereferenceable(8), i32 noundef) unnamed_addr #1 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local noundef nonnull align 8 dereferenceable(24) ptr @_ZNSt6vectorI3ptrIN2ts4data16CommentDirectiveEESaIS4_EEaSEOS6_(ptr noundef nonnull align 8 dereferenceable(24), ptr noundef nonnull align 8 dereferenceable(24)) local_unnamed_addr #1 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef zeroext i1 @_ZN2ts7Scanner16shouldParseJSDocEv(ptr noundef nonnull align 8 dereferenceable(176)) local_unnamed_addr #2 align 2

; Function Attrs: inlinehint mustprogress uwtable
declare dso_local void @_ZSt4bindIMN2ts7ScannerEFv3ptrINS0_4data17DiagnosticMessageEEiiNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEEJPS1_RKSt12_PlaceholderILi1EERKSF_ILi2EERKSF_ILi3EERKSF_ILi4EEEENSt12_Bind_helperIXsr15__is_socketlikeIT_EE5valueEST_JDpT0_EE4typeEOST_DpOSU_(ptr dead_on_unwind noalias writable sret(%"class.std::_Bind.147") align 8, ptr noundef nonnull align 8 dereferenceable(16), ptr noundef nonnull align 8 dereferenceable(8), ptr noundef nonnull align 1 dereferenceable(1), ptr noundef nonnull align 1 dereferenceable(1), ptr noundef nonnull align 1 dereferenceable(1), ptr noundef nonnull align 1 dereferenceable(1)) local_unnamed_addr #4

; Function Attrs: mustprogress uwtable
declare dso_local void @_ZNSt8functionIFv3ptrIN2ts4data17DiagnosticMessageEEiiNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEEEC2ISt5_BindIFMNS1_7ScannerEFvS4_iiSA_EPSF_St12_PlaceholderILi1EESJ_ILi2EESJ_ILi3EESJ_ILi4EEEEvEEOT_(ptr noundef nonnull align 8 dereferenceable(32), ptr noundef nonnull align 8 dereferenceable(24)) unnamed_addr #2 align 2

; Function Attrs: mustprogress uwtable
declare dso_local noundef i32 @_ZN2ts7Scanner14scanIdentifierE14CharacterCodesNS_12ScriptTargetE(ptr noundef nonnull align 8 dereferenceable(176), i32 noundef, i32 noundef) local_unnamed_addr #2 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZNSt14_Function_baseD2Ev(ptr noundef nonnull align 8 dereferenceable(24)) unnamed_addr #1 align 2

; Function Attrs: mustprogress nounwind uwtable
declare dso_local void @_ZNSt15__new_allocatorIwED2Ev(ptr noundef nonnull align 1 dereferenceable(1)) unnamed_addr #1 align 2

attributes #0 = { mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #1 = { mustprogress nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #2 = { mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #3 = { inlinehint mustprogress nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #4 = { inlinehint mustprogress uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { nounwind }

!llvm.module.flags = !{!0, !1, !2, !3}
!llvm.ident = !{!4}

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !18, i64 48}
!6 = !{!"_ZTSN2ts7ScannerE", !7, i64 0, !10, i64 4, !11, i64 8, !12, i64 12, !13, i64 16, !18, i64 48, !18, i64 52, !18, i64 56, !18, i64 60, !19, i64 64, !14, i64 72, !20, i64 104, !21, i64 112, !18, i64 136, !25, i64 140, !26, i64 144}
!7 = !{!"_ZTSN2ts10ScriptKindE", !8, i64 0}
!8 = !{!"omnipotent char", !9, i64 0}
!9 = !{!"Simple C++ TBAA"}
!10 = !{!"_ZTSN2ts12ScriptTargetE", !8, i64 0}
!11 = !{!"bool", !8, i64 0}
!12 = !{!"_ZTSN2ts15LanguageVariantE", !8, i64 0}
!13 = !{!"_ZTSN2ts11safe_stringE", !14, i64 0}
!14 = !{!"_ZTSNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEE", !15, i64 0, !17, i64 8, !8, i64 16}
!15 = !{!"_ZTSNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE12_Alloc_hiderE", !16, i64 0}
!16 = !{!"any pointer", !8, i64 0}
!17 = !{!"long", !8, i64 0}
!18 = !{!"int", !8, i64 0}
!19 = !{!"_ZTS10SyntaxKind", !8, i64 0}
!20 = !{!"_ZTSN2ts10TokenFlagsE", !8, i64 0}
!21 = !{!"_ZTSSt6vectorI3ptrIN2ts4data16CommentDirectiveEESaIS4_EE", !22, i64 0}
!22 = !{!"_ZTSSt12_Vector_baseI3ptrIN2ts4data16CommentDirectiveEESaIS4_EE", !23, i64 0}
!23 = !{!"_ZTSNSt12_Vector_baseI3ptrIN2ts4data16CommentDirectiveEESaIS4_EE12_Vector_implE", !24, i64 0}
!24 = !{!"_ZTSNSt12_Vector_baseI3ptrIN2ts4data16CommentDirectiveEESaIS4_EE17_Vector_impl_dataE", !16, i64 0, !16, i64 8, !16, i64 16}
!25 = !{!"_ZTSN2ts16JSDocParsingModeE", !8, i64 0}
!26 = !{!"_ZTSSt8functionIFv3ptrIN2ts4data17DiagnosticMessageEEiNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEEE", !27, i64 0, !16, i64 24}
!27 = !{!"_ZTSSt14_Function_base", !8, i64 0, !16, i64 16}
!28 = !{!6, !18, i64 56}
!29 = !{!6, !20, i64 104}
!30 = !{!6, !18, i64 60}
!31 = !{!6, !18, i64 52}
!32 = !{!6, !19, i64 64}
!33 = !{!6, !11, i64 8}
!34 = !{i8 0, i8 2}
!35 = !{}
!36 = distinct !{!36, !37}
!37 = !{!"llvm.loop.mustprogress"}
!38 = distinct !{!38, !37}
!39 = !{!6, !18, i64 136}
!40 = distinct !{!40, !37}
!41 = !{!8, !8, i64 0}
!42 = !{!16, !16, i64 0}
!43 = !{!6, !12, i64 12}
!44 = !{!6, !10, i64 4}


; Effective O3 passes: AggressiveInstCombinePass,CorrelatedValuePropagationPass,EarlyCSEPass,GVNPass,GlobalOptPass,IPSCCPPass,InferAlignmentPass,InferFunctionAttrsPass,InstCombinePass,InstSimplifyPass,JumpThreadingPass,LCSSAPass,LICMPass,LoopRotatePass,LoopSimplifyPass,LoopUnrollPass,SROAPass,SimplifyCFGPass