Build · b6afe1b3Finished · errors ·
Pause
•••
Download raw log ↓
← Earlier output23.4 MiB captured
boost-1.87.0
  %conv.i14.i = zext i16 %4 to i64
  %cmp.i = icmp samesign ult i64 %index.0.i, %conv.i14.i
  br i1 %cmp.i, label %for.body.i, label %for.cond.cleanup.i
for.cond.cleanup.i:                               ; preds = %for.cond.i
  %cmp4.not.i = icmp eq i64 %carry.0.i, 0
  br i1 %cmp4.not.i, label %if.end, label %if.then.i
for.body.i:                                       ; preds = %for.cond.i
  %arrayidx.i.i = getelementptr [62 x i64], ptr %x, i64 0, i64 %index.0.i
  %5 = load i64, ptr %arrayidx.i.i, align 8
  %conv.i.i = zext i64 %5 to i128
  %conv1.i.i = zext i64 %3 to i128
  %mul.i.i = mul nuw i128 %conv.i.i, %conv1.i.i
  %conv2.i.i = zext i64 %carry.0.i to i128
  %add.i.i = add nuw i128 %mul.i.i, %conv2.i.i
  %shr.i.i = lshr i128 %add.i.i, 64
  %conv3.i.i = trunc nuw i128 %shr.i.i to i64
  %conv4.i.i = trunc i128 %add.i.i to i64
  store i64 %conv4.i.i, ptr %arrayidx.i.i, align 8
  %inc.i = add nuw nsw i64 %index.0.i, 1
  %.pre = load i16, ptr %length.i, align 8
  br label %for.cond.i
if.then.i:                                        ; preds = %for.cond.cleanup.i
  %cmp.i.i64 = icmp ult i16 %4, 62
  br i1 %cmp.i.i64, label %_ZN5boost4json6detail8charconv6detail10fast_float8stackvecILt62EE8try_pushEm.exit.thread.i, label %cleanup41
_ZN5boost4json6detail8charconv6detail10fast_float8stackvecILt62EE8try_pushEm.exit.thread.i: ; preds = %if.then.i
  %arrayidx.i.i.i = getelementptr [62 x i64], ptr %x, i64 0, i64 %conv.i14.i
  store i64 %carry.0.i, ptr %arrayidx.i.i.i, align 8
  %6 = load i16, ptr %length.i, align 8
  %inc.i.i.i = add i16 %6, 1
  store i16 %inc.i.i.i, ptr %length.i, align 8
  br label %if.end
if.end:                                           ; preds = %_ZN5boost4json6detail8charconv6detail10fast_float8stackvecILt62EE8try_pushEm.exit.thread.i, %for.cond.cleanup.i
  br label %for.cond
for.cond:                                         ; preds = %for.inc, %if.end
  %index.0 = phi i64 [ 1, %if.end ], [ %inc, %for.inc ]
  %cmp11 = icmp ult i64 %index.0, %y.coerce1
  br i1 %cmp11, label %for.body, label %for.cond.if.end40_crit_edge
for.cond.if.end40_crit_edge:                      ; preds = %for.cond
  %.pre.i119.pre = load i16, ptr %length.i, align 8
  br label %if.end40
for.body:                                         ; preds = %for.cond
  %arrayidx.i = getelementptr i64, ptr %y.coerce0, i64 %index.0
  %7 = load i64, ptr %arrayidx.i, align 8
  call void @llvm.lifetime.start.p0(i64 504, ptr nonnull %zi) #13
  %length.i66 = getelementptr inbounds nuw i8, ptr %zi, i64 496
  store i16 0, ptr %length.i66, align 8
  %cmp13.not = icmp eq i64 %7, 0
  br i1 %cmp13.not, label %for.inc, label %if.then14
if.then14:                                        ; preds = %for.body
  store i16 0, ptr %length.i66, align 8
  %cmp.i70 = icmp ult i16 %z.496., 63
  br i1 %cmp.i70, label %if.then.i71, label %cleanup35
if.then.i71:                                      ; preds = %if.then14
  %8 = shl nuw nsw i16 %z.496., 3
  %add.ptr.idx.i.i.i = zext nneg i16 %8 to i64
  %sub.ptr.sub.off.i.i.i.i.i.i.i.i = or disjoint i64 %add.ptr.idx.i.i.i, 7
  %cmp.not.i.i.i.i.i.i.i.i.i = icmp samesign ult i64 %sub.ptr.sub.off.i.i.i.i.i.i.i.i, 15
  br i1 %cmp.not.i.i.i.i.i.i.i.i.i, label %if.end18, label %if.then.i.i.i.i.i.i.i.i.i
if.then.i.i.i.i.i.i.i.i.i:                        ; preds = %if.then.i71
  call void @llvm.memmove.p0.p0.i64(ptr nonnull align 8 %zi, ptr nonnull align 8 %z, i64 %add.ptr.idx.i.i.i, i1 false)
  %.pre.i = load i16, ptr %length.i66, align 8
  br label %if.end18
if.end18:                                         ; preds = %if.then.i71, %if.then.i.i.i.i.i.i.i.i.i
  %9 = phi i16 [ 0, %if.then.i71 ], [ %.pre.i, %if.then.i.i.i.i.i.i.i.i.i ]
  %conv.i8.i.i = add i16 %9, %z.496.
  store i16 %conv.i8.i.i, ptr %length.i66, align 8
  br label %for.cond.i72
for.cond.i72:                                     ; preds = %for.body.i86, %if.end18
  %10 = phi i16 [ %.pr, %for.body.i86 ], [ %conv.i8.i.i, %if.end18 ]
  %carry.0.i73 = phi i64 [ %conv3.i.i94, %for.body.i86 ], [ 0, %if.end18 ]
  %index.0.i74 = phi i64 [ %inc.i96, %for.body.i86 ], [ 0, %if.end18 ]
  %conv.i14.i76 = zext i16 %10 to i64
  %cmp.i77 = icmp samesign ult i64 %index.0.i74, %conv.i14.i76
  br i1 %cmp.i77, label %for.body.i86, label %for.cond.cleanup.i78
for.cond.cleanup.i78:                             ; preds = %for.cond.i72
  %cmp4.not.i79 = icmp eq i64 %carry.0.i73, 0
  br i1 %cmp4.not.i79, label %if.end21, label %if.then.i80
for.body.i86:                                     ; preds = %for.cond.i72
  %arrayidx.i.i87 = getelementptr [62 x i64], ptr %zi, i64 0, i64 %index.0.i74
  %11 = load i64, ptr %arrayidx.i.i87, align 8
  %conv.i.i88 = zext i64 %11 to i128
  %conv1.i.i89 = zext i64 %7 to i128
  %mul.i.i90 = mul nuw i128 %conv.i.i88, %conv1.i.i89
  %conv2.i.i91 = zext i64 %carry.0.i73 to i128
  %add.i.i92 = add nuw i128 %mul.i.i90, %conv2.i.i91
  %shr.i.i93 = lshr i128 %add.i.i92, 64
  %conv3.i.i94 = trunc nuw i128 %shr.i.i93 to i64
  %conv4.i.i95 = trunc i128 %add.i.i92 to i64
  store i64 %conv4.i.i95, ptr %arrayidx.i.i87, align 8
  %inc.i96 = add nuw nsw i64 %index.0.i74, 1
  %.pr = load i16, ptr %length.i66, align 8
  br label %for.cond.i72
if.then.i80:                                      ; preds = %for.cond.cleanup.i78
  %cmp.i.i81 = icmp ult i16 %10, 62
  br i1 %cmp.i.i81, label %_ZN5boost4json6detail8charconv6detail10fast_float8stackvecILt62EE8try_pushEm.exit.thread.i83, label %cleanup35
_ZN5boost4json6detail8charconv6detail10fast_float8stackvecILt62EE8try_pushEm.exit.thread.i83: ; preds = %if.then.i80
  %arrayidx.i.i.i84 = getelementptr [62 x i64], ptr %zi, i64 0, i64 %conv.i14.i76
  store i64 %carry.0.i73, ptr %arrayidx.i.i.i84, align 8
  %12 = load i16, ptr %length.i66, align 8
  %inc.i.i.i85 = add i16 %12, 1
  store i16 %inc.i.i.i85, ptr %length.i66, align 8
  %.pre146 = zext i16 %inc.i.i.i85 to i64
  br label %if.end21
if.end21:                                         ; preds = %_ZN5boost4json6detail8charconv6detail10fast_float8stackvecILt62EE8try_pushEm.exit.thread.i83, %for.cond.cleanup.i78
  %conv.i99.pre-phi = phi i64 [ %.pre146, %_ZN5boost4json6detail8charconv6detail10fast_float8stackvecILt62EE8try_pushEm.exit.thread.i83 ], [ %conv.i14.i76, %for.cond.cleanup.i78 ]
  %13 = load i16, ptr %length.i, align 8
  %conv.i.i102 = zext i16 %13 to i64
  %cmp.i103 = icmp ugt i64 %index.0, %conv.i.i102
  %sub.i = sub nsw i64 %conv.i.i102, %index.0
  %cmp3.i = icmp ult i64 %sub.i, %conv.i99.pre-phi
  %or.cond.i = select i1 %cmp.i103, i1 true, i1 %cmp3.i
  br i1 %or.cond.i, label %if.then.i115, label %if.end7.i
if.then.i115:                                     ; preds = %if.end21
  %add.i116 = add i64 %index.0, %conv.i99.pre-phi
  %cmp.i.i117 = icmp ult i64 %add.i116, 63
  br i1 %cmp.i.i117, label %if.else.i.i, label %cleanup35
if.else.i.i:                                      ; preds = %if.then.i115
  %cmp.i.i.i = icmp samesign ugt i64 %add.i116, %conv.i.i102
  br i1 %cmp.i.i.i, label %if.then.i.i.i, label %_ZN5boost4json6detail8charconv6detail10fast_float8stackvecILt62EE10try_resizeEmm.exit.thread61.i
_ZN5boost4json6detail8charconv6detail10fast_float8stackvecILt62EE10try_resizeEmm.exit.thread61.i: ; preds = %if.else.i.i
  %storemerge.i.i62.i = trunc nuw i64 %add.i116 to i16
  store i16 %storemerge.i.i62.i, ptr %length.i, align 8
  br label %if.end7.i
if.then.i.i.i:                                    ; preds = %if.else.i.i
  %add.ptr.idx.i.i.i118 = shl nuw nsw i64 %conv.i.i102, 3
  %add.ptr.i.i.i = getelementptr i8, ptr %x, i64 %add.ptr.idx.i.i.i118
  %14 = sub nuw nsw i64 %add.i116, %conv.i.i102
  br label %for.cond.i.i.i.i.i.i.i
for.cond.i.i.i.i.i.i.i:                           ; preds = %for.body.i.i.i.i.i.i.i, %if.then.i.i.i
  %__n.addr.0.i.i.i.i.i.i.i = phi i64 [ %14, %if.then.i.i.i ], [ %dec.i.i.i.i.i.i.i, %for.body.i.i.i.i.i.i.i ]
  %__first.addr.0.i.i.i.i.i.i.i = phi ptr [ %add.ptr.i.i.i, %if.then.i.i.i ], [ %incdec.ptr.i.i.i.i.i.i.i, %for.body.i.i.i.i.i.i.i ]
  %cmp.i.i.i.i.i.i.i = icmp sgt i64 %__n.addr.0.i.i.i.i.i.i.i, 0
  br i1 %cmp.i.i.i.i.i.i.i, label %for.body.i.i.i.i.i.i.i, label %_ZN5boost4json6detail8charconv6detail10fast_float8stackvecILt62EE10try_resizeEmm.exit.i
for.body.i.i.i.i.i.i.i:                           ; preds = %for.cond.i.i.i.i.i.i.i
  store i64 0, ptr %__first.addr.0.i.i.i.i.i.i.i, align 8
  %incdec.ptr.i.i.i.i.i.i.i = getelementptr i8, ptr %__first.addr.0.i.i.i.i.i.i.i, i64 8
  %dec.i.i.i.i.i.i.i = add nsw i64 %__n.addr.0.i.i.i.i.i.i.i, -1
  br label %for.cond.i.i.i.i.i.i.i
_ZN5boost4json6detail8charconv6detail10fast_float8stackvecILt62EE10try_resizeEmm.exit.i: ; preds = %for.cond.i.i.i.i.i.i.i
  %storemerge.i.i.i = trunc nuw i64 %add.i116 to i16
  store i16 %storemerge.i.i.i, ptr %length.i, align 8
  br label %if.end7.i
if.end7.i:                                        ; preds = %_ZN5boost4json6detail8charconv6detail10fast_float8stackvecILt62EE10try_resizeEmm.exit.i, %_ZN5boost4json6detail8charconv6detail10fast_float8stackvecILt62EE10try_resizeEmm.exit.thread61.i, %if.end21
  br label %for.cond.i104
for.cond.i104:                                    ; preds = %if.end16.i, %if.end7.i
  %carry.0.i105 = phi i1 [ false, %if.end7.i ], [ %tobool.i, %if.end16.i ]
  %index.0.i106 = phi i64 [ 0, %if.end7.i ], [ %inc.i114, %if.end16.i ]
  %cmp9.i = icmp ult i64 %index.0.i106, %conv.i99.pre-phi
  br i1 %cmp9.i, label %for.body.i111, label %for.cond.cleanup.i107
for.cond.cleanup.i107:                            ; preds = %for.cond.i104
  br i1 %carry.0.i105, label %if.then23.i, label %for.inc
for.body.i111:                                    ; preds = %for.cond.i104
  %add10.i = add i64 %index.0.i106, %index.0
  %arrayidx.i.i112 = getelementptr [62 x i64], ptr %x, i64 0, i64 %add10.i
  %15 = load i64, ptr %arrayidx.i.i112, align 8
  %arrayidx.i53.i = getelementptr i64, ptr %zi, i64 %index.0.i106
  %16 = load i64, ptr %arrayidx.i53.i, align 8
  %17 = call { i64, i1 } @llvm.uadd.with.overflow.i64(i64 %15, i64 %16)
  %18 = extractvalue { i64, i1 } %17, 1
  %19 = extractvalue { i64, i1 } %17, 0
  br i1 %carry.0.i105, label %if.then14.i, label %if.end16.i
if.then14.i:                                      ; preds = %for.body.i111
  %20 = call { i64, i1 } @llvm.uadd.with.overflow.i64(i64 %19, i64 1)
  %21 = extractvalue { i64, i1 } %20, 1
  %22 = extractvalue { i64, i1 } %20, 0
  %23 = zext i1 %21 to i32
  br label %if.end16.i
if.end16.i:                                       ; preds = %if.then14.i, %for.body.i111
  %c2.0.i = phi i32 [ %23, %if.then14.i ], [ 0, %for.body.i111 ]
  %xi.0.i = phi i64 [ %22, %if.then14.i ], [ %19, %for.body.i111 ]
  store i64 %xi.0.i, ptr %arrayidx.i.i112, align 8
  %conv.i113 = zext i1 %18 to i32
  %or.i = or i32 %c2.0.i, %conv.i113
  %tobool.i = icmp ne i32 %or.i, 0
  %inc.i114 = add nuw i64 %index.0.i106, 1
  br label %for.cond.i104
if.then23.i:                                      ; preds = %for.cond.cleanup.i107
  %add25.i = add i64 %index.0, %conv.i99.pre-phi
  br label %while.cond.i.i
while.cond.i.i:                                   ; preds = %while.body.i.i, %if.then23.i
  %index.0.i.i = phi i64 [ %add25.i, %if.then23.i ], [ %add.i.i110, %while.body.i.i ]
  %carry.0.i.i = phi i64 [ 1, %if.then23.i ], [ %conv.i57.i, %while.body.i.i ]
  %cmp.not.i.i = icmp eq i64 %carry.0.i.i, 0
  br i1 %cmp.not.i.i, label %for.inc, label %land.rhs.i.i
land.rhs.i.i:                                     ; preds = %while.cond.i.i
  %24 = load i16, ptr %length.i, align 8
  %conv.i.i.i = zext i16 %24 to i64
  %cmp1.i.i = icmp ult i64 %index.0.i.i, %conv.i.i.i
  br i1 %cmp1.i.i, label %while.body.i.i, label %if.then.i.i108
while.body.i.i:                                   ; preds = %land.rhs.i.i
  %arrayidx.i.i.i109 = getelementptr [62 x i64], ptr %x, i64 0, i64 %index.0.i.i
  %25 = load i64, ptr %arrayidx.i.i.i109, align 8
  %26 = call { i64, i1 } @llvm.uadd.with.overflow.i64(i64 %25, i64 %carry.0.i.i)
  %27 = extractvalue { i64, i1 } %26, 1
  %28 = extractvalue { i64, i1 } %26, 0
  store i64 %28, ptr %arrayidx.i.i.i109, align 8
  %conv.i57.i = zext i1 %27 to i64
  %add.i.i110 = add nuw nsw i64 %index.0.i.i, 1
  br label %while.cond.i.i
if.then.i.i108:                                   ; preds = %land.rhs.i.i
  %cmp.i.i56.i = icmp ult i16 %24, 62
  br i1 %cmp.i.i56.i, label %_ZN5boost4json6detail8charconv6detail10fast_float8stackvecILt62EE8try_pushEm.exit.thread.i.i, label %cleanup35
_ZN5boost4json6detail8charconv6detail10fast_float8stackvecILt62EE8try_pushEm.exit.thread.i.i: ; preds = %if.then.i.i108
  %arrayidx.i.i.i.i = getelementptr [62 x i64], ptr %x, i64 0, i64 %conv.i.i.i
  store i64 %carry.0.i.i, ptr %arrayidx.i.i.i.i, align 8
  %29 = load i16, ptr %length.i, align 8
  %inc.i.i.i.i = add i16 %29, 1
  store i16 %inc.i.i.i.i, ptr %length.i, align 8
  br label %for.inc
for.inc:                                          ; preds = %while.cond.i.i, %_ZN5boost4json6detail8charconv6detail10fast_float8stackvecILt62EE8try_pushEm.exit.thread.i.i, %for.cond.cleanup.i107, %for.body
  call void @llvm.lifetime.end.p0(i64 504, ptr nonnull %zi) #13
  %inc = add i64 %index.0, 1
  br label %for.cond
cleanup35:                                        ; preds = %if.then14, %if.then.i80, %if.then.i.i108, %if.then.i115
  call void @llvm.lifetime.end.p0(i64 504, ptr nonnull %zi) #13
  br label %cleanup41
if.end40:                                         ; preds = %for.cond.if.end40_crit_edge, %_ZN5boost4json6detail8charconv6detail10fast_float8stackvecILt62EEC2ENS4_4spanImEE.exit
  %.pre.i119 = phi i16 [ %.pre.i119.pre, %for.cond.if.end40_crit_edge ], [ %0, %_ZN5boost4json6detail8charconv6detail10fast_float8stackvecILt62EEC2ENS4_4spanImEE.exit ]
  br label %while.cond.i
while.cond.i:                                     ; preds = %while.body.i, %if.end40
  %30 = phi i16 [ %dec.i, %while.body.i ], [ %.pre.i119, %if.end40 ]
  %cmp.not.i = icmp eq i16 %30, 0
  br i1 %cmp.not.i, label %cleanup41, label %land.rhs.i
land.rhs.i:                                       ; preds = %while.cond.i
  %conv.i.i120 = zext i16 %30 to i64
  %sub2.i.i = add nsw i64 %conv.i.i120, -1
  %arrayidx.i.i121 = getelementptr [62 x i64], ptr %x, i64 0, i64 %sub2.i.i
  %31 = load i64, ptr %arrayidx.i.i121, align 8
  %cmp3.i122 = icmp eq i64 %31, 0
  br i1 %cmp3.i122, label %while.body.i, label %cleanup41
while.body.i:                                     ; preds = %land.rhs.i
  %dec.i = add i16 %30, -1
  store i16 %dec.i, ptr %length.i, align 8
  br label %while.cond.i
cleanup41:                                        ; preds = %cleanup35, %if.then.i, %land.rhs.i, %while.cond.i
  %retval.6 = phi i1 [ true, %while.cond.i ], [ true, %land.rhs.i ], [ false, %if.then.i ], [ false, %cleanup35 ]
  call void @llvm.lifetime.end.p0(i64 504, ptr nonnull %z)
  ret i1 %retval.6
}
; Function Attrs: inlinehint nounwind uwtable
define linkonce hidden { ptr, i32 } @_ZN5boost4json6detail8charconv6detail6parserImlEENS2_19from_chars_result_tIcEEPKcS8_RbRT_RT0_NS2_12chars_formatE(ptr %first, ptr %last, ptr align 1 %sign, ptr align 8 %significand, ptr align 8 %exponent, i32 %fmt) #1 comdat {
entry:
  %significand_buffer = alloca [19 x i8], align 16
  %exponent_buffer = alloca [6 x i8], align 1
  %cmp = icmp ugt ptr %first, %last
  br i1 %cmp, label %return, label %if.end
if.end:                                           ; preds = %entry
  %0 = load i8, ptr %first, align 1
  switch i8 %0, label %if.else8 [
    i8 45, label %if.then2
    i8 43, label %return
  ]
if.then2:                                         ; preds = %if.end
  store i8 1, ptr %sign, align 1
  %incdec.ptr = getelementptr i8, ptr %first, i64 1
  br label %if.end10
if.else8:                                         ; preds = %if.end
  store i8 0, ptr %sign, align 1
  br label %if.end10
if.end10:                                         ; preds = %if.else8, %if.then2
  %next.0 = phi ptr [ %incdec.ptr, %if.then2 ], [ %first, %if.else8 ]
  br label %while.cond
while.cond:                                       ; preds = %while.body, %if.end10
  %next.1 = phi ptr [ %next.0, %if.end10 ], [ %incdec.ptr14, %while.body ]
  %1 = load i8, ptr %next.1, align 1
  %conv11 = sext i8 %1 to i32
  %cmp12 = icmp eq i8 %1, 48
  %cmp13 = icmp ne ptr %next.1, %last
  %2 = and i1 %cmp12, %cmp13
  br i1 %2, label %while.body, label %while.end
while.body:                                       ; preds = %while.cond
  %incdec.ptr14 = getelementptr i8, ptr %next.1, i64 1
  br label %while.cond
while.end:                                        ; preds = %while.cond
  %cmp15.not = icmp eq i32 %fmt, 4
  %cmp19 = icmp eq ptr %next.1, %last
  br i1 %cmp19, label %if.then27, label %lor.lhs.false
lor.lhs.false:                                    ; preds = %while.end
  %conv21 = select i1 %cmp15.not, i32 112, i32 101
  %cmp22 = icmp eq i32 %conv21, %conv11
  br i1 %cmp22, label %if.then27, label %lor.lhs.false23
lor.lhs.false23:                                  ; preds = %lor.lhs.false
  %conv25.neg = select i1 %cmp15.not, i32 -80, i32 -69
  %conv25 = select i1 %cmp15.not, i32 80, i32 69
  %cmp26 = icmp eq i32 %conv25.neg, %conv11
  br i1 %cmp26, label %if.then27, label %if.end30
if.then27:                                        ; preds = %lor.lhs.false23, %lor.lhs.false, %while.end
  store i64 0, ptr %significand, align 8
  store i64 0, ptr %exponent, align 8
  br label %return
if.end30:                                         ; preds = %lor.lhs.false23
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(19) %significand_buffer, i8 0, i64 19, i1 false)
  %_ZN5boost4json6detail8charconv6detail15is_integer_charEc._ZN5boost4json6detail8charconv6detail11is_hex_charEc = select i1 %cmp15.not, ptr @_ZN5boost4json6detail8charconv6detail11is_hex_charEc, ptr @_ZN5boost4json6detail8charconv6detail15is_integer_charEc
  %cond33 = select i1 %cmp15.not, i32 16, i32 10
  br label %while.cond34
while.cond34:                                     ; preds = %while.body39, %if.end30
  %3 = phi i8 [ %1, %if.end30 ], [ %.pre, %while.body39 ]
  %i.0 = phi i64 [ 0, %if.end30 ], [ %inc, %while.body39 ]
  %all_zeros.0 = phi i1 [ true, %if.end30 ], [ false, %while.body39 ]
  %next.2 = phi ptr [ %next.1, %if.end30 ], [ %incdec.ptr40, %while.body39 ]
  %call = call zeroext i1 %_ZN5boost4json6detail8charconv6detail15is_integer_charEc._ZN5boost4json6detail8charconv6detail11is_hex_charEc(i8 signext %3) #13
  br i1 %call, label %land.lhs.true, label %while.end41
land.lhs.true:                                    ; preds = %while.cond34
  %cmp35 = icmp ne ptr %next.2, %last
  %cmp37 = icmp samesign ult i64 %i.0, 19
  %or.cond336 = select i1 %cmp35, i1 %cmp37, i1 false
  br i1 %or.cond336, label %while.body39, label %while.end41
while.body39:                                     ; preds = %land.lhs.true
  %4 = load i8, ptr %next.2, align 1
  %arrayidx = getelementptr [19 x i8], ptr %significand_buffer, i64 0, i64 %i.0
  store i8 %4, ptr %arrayidx, align 1
  %incdec.ptr40 = getelementptr i8, ptr %next.2, i64 1
  %inc = add nuw nsw i64 %i.0, 1
  %.pre = load i8, ptr %incdec.ptr40, align 1
  br label %while.cond34
while.end41:                                      ; preds = %land.lhs.true, %while.cond34
  %cmp42 = icmp eq ptr %next.2, %last
  br i1 %cmp42, label %if.then43, label %if.else60
if.then43:                                        ; preds = %while.end41
  %cmp44 = icmp eq i32 %fmt, 1
  br i1 %cmp44, label %cleanup320, label %if.end48
if.end48:                                         ; preds = %if.then43
  store i64 0, ptr %exponent, align 8
  %add.ptr = getelementptr i8, ptr %significand_buffer, i64 %i.0
  %call50 = call { ptr, i32 } @_ZN5boost4json6detail8charconv6detail10from_charsImEENS2_19from_chars_result_tIcEEPKcS8_RT_i(ptr nonnull %significand_buffer, ptr %add.ptr, ptr nonnull align 8 %significand, i32 %cond33) #13
  %5 = extractvalue { ptr, i32 } %call50, 1
  switch i32 %5, label %sw.default [
    i32 22, label %cleanup320
    i32 34, label %sw.bb54
  ]
sw.bb54:                                          ; preds = %if.end48
  br label %cleanup320
sw.default:                                       ; preds = %if.end48
  br label %cleanup320
if.else60:                                        ; preds = %while.end41
  %6 = load i8, ptr %next.2, align 1
  %cmp62 = icmp eq i8 %6, 46
  br i1 %cmp62, label %if.then63, label %if.end94
if.then63:                                        ; preds = %if.else60
  %incdec.ptr64 = getelementptr i8, ptr %next.2, i64 1
  br i1 %all_zeros.0, label %while.cond66, label %if.end80
while.cond66:                                     ; preds = %if.then63, %while.body72
  %leading_zero_powers.0 = phi i64 [ 0, %if.then63 ], [ %dec, %while.body72 ]
  %next.3 = phi ptr [ %incdec.ptr64, %if.then63 ], [ %incdec.ptr73, %while.body72 ]
  %7 = load i8, ptr %next.3, align 1
  %cmp68 = icmp eq i8 %7, 48
  %cmp70 = icmp ne ptr %next.3, %last
  %8 = and i1 %cmp68, %cmp70
  br i1 %8, label %while.body72, label %while.end74
while.body72:                                     ; preds = %while.cond66
  %incdec.ptr73 = getelementptr i8, ptr %next.3, i64 1
  %dec = add i64 %leading_zero_powers.0, -1
  br label %while.cond66
while.end74:                                      ; preds = %while.cond66
  %cmp75 = icmp eq ptr %next.3, %last
  br i1 %cmp75, label %cleanup320, label %if.end80
if.end80:                                         ; preds = %while.end74, %if.then63
  %leading_zero_powers.1 = phi i64 [ %leading_zero_powers.0, %while.end74 ], [ 0, %if.then63 ]
  %next.4 = phi ptr [ %next.3, %while.end74 ], [ %incdec.ptr64, %if.then63 ]
  br label %while.cond81
while.cond81:                                     ; preds = %while.body88, %if.end80
  %i.1 = phi i64 [ %i.0, %if.end80 ], [ %inc91, %while.body88 ]
  %next.5 = phi ptr [ %next.4, %if.end80 ], [ %incdec.ptr90, %while.body88 ]
  %9 = load i8, ptr %next.5, align 1
  %call82 = call zeroext i1 %_ZN5boost4json6detail8charconv6detail15is_integer_charEc._ZN5boost4json6detail8charconv6detail11is_hex_charEc(i8 signext %9) #13
  br i1 %call82, label %land.lhs.true83, label %if.end94
land.lhs.true83:                                  ; preds = %while.cond81
  %cmp84 = icmp ne ptr %next.5, %last
  %cmp86 = icmp samesign ult i64 %i.1, 19
  %or.cond337 = select i1 %cmp84, i1 %cmp86, i1 false
  br i1 %or.cond337, label %while.body88, label %if.end94
while.body88:                                     ; preds = %land.lhs.true83
  %10 = load i8, ptr %next.5, align 1
  %arrayidx89 = getelementptr [19 x i8], ptr %significand_buffer, i64 0, i64 %i.1
  store i8 %10, ptr %arrayidx89, align 1
  %incdec.ptr90 = getelementptr i8, ptr %next.5, i64 1
  %inc91 = add nuw nsw i64 %i.1, 1
  br label %while.cond81
if.end94:                                         ; preds = %if.else60, %land.lhs.true83, %while.cond81
  %leading_zero_powers.2 = phi i64 [ %leading_zero_powers.1, %land.lhs.true83 ], [ %leading_zero_powers.1, %while.cond81 ], [ 0, %if.else60 ]
  %dot_position.0 = phi i64 [ %i.0, %land.lhs.true83 ], [ %i.0, %while.cond81 ], [ 0, %if.else60 ]
  %i.2 = phi i64 [ %i.1, %land.lhs.true83 ], [ %i.1, %while.cond81 ], [ %i.0, %if.else60 ]
  %next.6 = phi ptr [ %next.5, %land.lhs.true83 ], [ %next.5, %while.cond81 ], [ %next.2, %if.else60 ]
  %cmp95 = icmp eq i64 %i.2, 19
  br i1 %cmp95, label %if.end94.while.cond97_crit_edge, label %if.end118
if.end94.while.cond97_crit_edge:                  ; preds = %if.end94
  %.pre522 = load i8, ptr %next.6, align 1
  br label %while.cond97
while.cond97:                                     ; preds = %if.end94.while.cond97_crit_edge, %while.body105
  %11 = phi i8 [ %14, %while.body105 ], [ %.pre522, %if.end94.while.cond97_crit_edge ]
  %found_dot.0 = phi i8 [ %spec.select519, %while.body105 ], [ 0, %if.end94.while.cond97_crit_edge ]
  %extra_zeros.0 = phi i64 [ %extra_zeros.1, %while.body105 ], [ 0, %if.end94.while.cond97_crit_edge ]
  %next.7 = phi ptr [ %incdec.ptr106, %while.body105 ], [ %next.6, %if.end94.while.cond97_crit_edge ]
  %call98 = call zeroext i1 %_ZN5boost4json6detail8charconv6detail15is_integer_charEc._ZN5boost4json6detail8charconv6detail11is_hex_charEc(i8 signext %11) #13
  br i1 %call98, label %land.rhs102, label %lor.lhs.false99
lor.lhs.false99:                                  ; preds = %while.cond97
  %12 = load i8, ptr %next.7, align 1
  %cmp101 = icmp eq i8 %12, 46
  %cmp103 = icmp ne ptr %next.7, %last
  %or.cond517 = and i1 %cmp101, %cmp103
  br i1 %or.cond517, label %while.body105, label %if.end118
land.rhs102:                                      ; preds = %while.cond97
  %cmp103.old.not = icmp eq ptr %next.7, %last
  br i1 %cmp103.old.not, label %if.end118, label %while.body105
while.body105:                                    ; preds = %lor.lhs.false99, %land.rhs102
  %incdec.ptr106 = getelementptr i8, ptr %next.7, i64 1
  %13 = xor i8 %found_dot.0, 1
  %narrow = select i1 %cmp62, i8 0, i8 %13
  %spec.select518 = zext nneg i8 %narrow to i64
  %extra_zeros.1 = add i64 %extra_zeros.0, %spec.select518
  %14 = load i8, ptr %incdec.ptr106, align 1
  %cmp114 = icmp eq i8 %14, 46
  %spec.select519 = select i1 %cmp114, i8 1, i8 %found_dot.0
  br label %while.cond97
if.end118:                                        ; preds = %land.rhs102, %lor.lhs.false99, %if.end94
  %extra_zeros.2 = phi i64 [ 0, %if.end94 ], [ %extra_zeros.0, %lor.lhs.false99 ], [ %extra_zeros.0, %land.rhs102 ]
  %next.8 = phi ptr [ %next.6, %if.end94 ], [ %next.7, %lor.lhs.false99 ], [ %next.7, %land.rhs102 ]
  %cmp119 = icmp eq ptr %next.8, %last
  br i1 %cmp119, label %if.then122, label %lor.lhs.false120
lor.lhs.false120:                                 ; preds = %if.end118
  %15 = load i8, ptr %next.8, align 1
  br i1 %cmp15.not, label %if.end.i, label %if.then.i
if.then.i:                                        ; preds = %lor.lhs.false120
  %16 = add i8 %15, -58
  %17 = icmp ult i8 %16, -10
  %18 = and i8 %15, -33
  %19 = icmp ne i8 %18, 69
  %spec.select.i = and i1 %17, %19
  br i1 %spec.select.i, label %if.then122, label %if.else155
if.end.i:                                         ; preds = %lor.lhs.false120
  %20 = add i8 %15, -48
  %21 = icmp ult i8 %20, 10
  %22 = add i8 %15, -97
  %or.cond.i.i = icmp ult i8 %22, 6
  %or.cond22.i = or i1 %21, %or.cond.i.i
  br i1 %or.cond22.i, label %if.else155, label %_ZN5boost4json6detail8charconv6detail12is_delimiterEcNS2_12chars_formatE.exit
_ZN5boost4json6detail8charconv6detail12is_delimiterEcNS2_12chars_formatE.exit: ; preds = %if.end.i
  switch i8 %15, label %if.end127 [
    i8 112, label %if.else155
    i8 80, label %if.else155
    i8 70, label %if.else155
    i8 69, label %if.else155
    i8 68, label %if.else155
    i8 67, label %if.else155
    i8 66, label %if.else155
    i8 65, label %if.else155
  ]
if.then122:                                       ; preds = %if.then.i, %if.end118
  %cmp123 = icmp eq i32 %fmt, 1
  br i1 %cmp123, label %cleanup320, label %if.end127
if.end127:                                        ; preds = %_ZN5boost4json6detail8charconv6detail12is_delimiterEcNS2_12chars_formatE.exit, %if.then122
  %cmp128.not = icmp eq i64 %dot_position.0, 0
  br i1 %cmp128.not, label %lor.lhs.false129, label %if.then131
lor.lhs.false129:                                 ; preds = %if.end127
  br i1 %cmp62, label %if.then131, label %if.else134
if.then131:                                       ; preds = %lor.lhs.false129, %if.end127
  %sub132 = sub nsw i64 %dot_position.0, %i.2
  %add = add i64 %sub132, %extra_zeros.2
  br label %if.end136
if.else134:                                       ; preds = %lor.lhs.false129
  br label %if.end136
if.end136:                                        ; preds = %if.else134, %if.then131
  %extra_zeros.2.pn = phi i64 [ %extra_zeros.2, %if.else134 ], [ %add, %if.then131 ]
  %storemerge = add i64 %extra_zeros.2.pn, %leading_zero_powers.2
  store i64 %storemerge, ptr %exponent, align 8
  %add.ptr141 = getelementptr i8, ptr %significand_buffer, i64 %i.2
  %call142 = call { ptr, i32 } @_ZN5boost4json6detail8charconv6detail10from_charsImEENS2_19from_chars_result_tIcEEPKcS8_RT_i(ptr nonnull %significand_buffer, ptr %add.ptr141, ptr nonnull align 8 %significand, i32 %cond33) #13
  %23 = extractvalue { ptr, i32 } %call142, 1
  switch i32 %23, label %sw.default150 [
    i32 22, label %cleanup320
    i32 34, label %sw.bb147
  ]
sw.bb147:                                         ; preds = %if.end136
  br label %cleanup320
sw.default150:                                    ; preds = %if.end136
  br label %cleanup320
if.else155:                                       ; preds = %_ZN5boost4json6detail8charconv6detail12is_delimiterEcNS2_12chars_formatE.exit, %_ZN5boost4json6detail8charconv6detail12is_delimiterEcNS2_12chars_formatE.exit, %_ZN5boost4json6detail8charconv6detail12is_delimiterEcNS2_12chars_formatE.exit, %_ZN5boost4json6detail8charconv6detail12is_delimiterEcNS2_12chars_formatE.exit, %_ZN5boost4json6detail8charconv6detail12is_delimiterEcNS2_12chars_formatE.exit, %_ZN5boost4json6detail8charconv6detail12is_delimiterEcNS2_12chars_formatE.exit, %_ZN5boost4json6detail8charconv6detail12is_delimiterEcNS2_12chars_formatE.exit, %_ZN5boost4json6detail8charconv6detail12is_delimiterEcNS2_12chars_formatE.exit, %if.end.i, %if.then.i
  %conv156 = zext nneg i8 %15 to i32
  %cmp158 = icmp eq i32 %conv21, %conv156
  %cmp162 = icmp eq i32 %conv25, %conv156
  %or.cond520 = or i1 %cmp158, %cmp162
  br i1 %or.cond520, label %if.then163, label %cleanup320
if.then163:                                       ; preds = %if.else155
  %cmp164 = icmp eq ptr %next.8, %first
  br i1 %cmp164, label %cleanup320, label %if.end168
if.end168:                                        ; preds = %if.then163
  %incdec.ptr169 = getelementptr i8, ptr %next.8, i64 1
  %cmp170 = icmp eq i32 %fmt, 2
  br i1 %cmp170, label %cleanup320, label %if.end174
if.end174:                                        ; preds = %if.end168
  %sub175 = add nsw i64 %i.2, -1
  store i64 %sub175, ptr %exponent, align 8
  %cmp177 = icmp ugt i64 %i.2, 19
  br i1 %cmp177, label %if.then178, label %if.end200
if.then178:                                       ; preds = %if.end174
  %arrayidx179 = getelementptr inbounds nuw i8, ptr %significand_buffer, i64 18
  %24 = load i8, ptr %arrayidx179, align 1
  %conv180 = sext i8 %24 to i32
  %conv180.off = add nsw i32 %conv180, -53
  %switch = icmp ult i32 %conv180.off, 5
  br label %if.then202
if.end200:                                        ; preds = %if.end174
  %cmp201.not = icmp eq i64 %i.2, 0
  br i1 %cmp201.not, label %if.end230, label %if.then202
if.then202:                                       ; preds = %if.then178, %if.end200
  %i.3505 = phi i64 [ %i.2, %if.end200 ], [ 19, %if.then178 ]
  %round.0502 = phi i1 [ false, %if.end200 ], [ %switch, %if.then178 ]
  %offset176.0501 = phi i64 [ %i.2, %if.end200 ], [ 18, %if.then178 ]
  %add.ptr206 = getelementptr i8, ptr %significand_buffer, i64 %offset176.0501
  %call207 = call { ptr, i32 } @_ZN5boost4json6detail8charconv6detail10from_charsImEENS2_19from_chars_result_tIcEEPKcS8_RT_i(ptr nonnull %significand_buffer, ptr %add.ptr206, ptr nonnull align 8 %significand, i32 %cond33) #13
  %25 = extractvalue { ptr, i32 } %call207, 1
  switch i32 %25, label %sw.epilog [
    i32 22, label %cleanup320
    i32 34, label %sw.bb212
  ]
sw.bb212:                                         ; preds = %if.then202
  br label %cleanup320
sw.epilog:                                        ; preds = %if.then202
  br i1 %round.0502, label %if.then217, label %if.end230
if.then217:                                       ; preds = %sw.epilog
  %26 = load i64, ptr %significand, align 8
  %add218 = add i64 %26, 1
  store i64 %add218, ptr %significand, align 8
  br label %if.end230
if.end230:                                        ; preds = %sw.epilog, %if.then217, %if.end200
  %i.3503.ph = phi i64 [ 0, %if.end200 ], [ %i.3505, %if.then217 ], [ %i.3505, %sw.epilog ]
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 1 dereferenceable(6) %exponent_buffer, i8 0, i64 6, i1 false)
  %27 = load i8, ptr %incdec.ptr169, align 1
  switch i8 %27, label %if.end243 [
    i8 45, label %if.then233
    i8 43, label %if.then240
  ]
if.then233:                                       ; preds = %if.end230
  store i8 45, ptr %exponent_buffer, align 1
  %incdec.ptr235 = getelementptr i8, ptr %next.8, i64 2
  br label %if.end243
if.then240:                                       ; preds = %if.end230
  %incdec.ptr241 = getelementptr i8, ptr %next.8, i64 2
  br label %if.end243
if.end243:                                        ; preds = %if.end230, %if.then240, %if.then233
  %i.4 = phi i64 [ 1, %if.then233 ], [ 0, %if.then240 ], [ 0, %if.end230 ]
  %next.9 = phi ptr [ %incdec.ptr235, %if.then233 ], [ %incdec.ptr241, %if.then240 ], [ %incdec.ptr169, %if.end230 ]
  br label %while.cond244
while.cond244:                                    ; preds = %while.body247, %if.end243
  %next.10 = phi ptr [ %next.9, %if.end243 ], [ %incdec.ptr248, %while.body247 ]
  %28 = load i8, ptr %next.10, align 1
  %cmp246 = icmp eq i8 %28, 48
  br i1 %cmp246, label %while.body247, label %while.cond250
while.body247:                                    ; preds = %while.cond244
  %incdec.ptr248 = getelementptr i8, ptr %next.10, i64 1
  br label %while.cond244
while.cond250:                                    ; preds = %while.cond244, %while.body257
  %29 = phi i8 [ %28, %while.cond244 ], [ %.pre523, %while.body257 ]
  %i.5 = phi i64 [ %i.4, %while.cond244 ], [ %inc260, %while.body257 ]
  %next.11 = phi ptr [ %next.10, %while.cond244 ], [ %incdec.ptr259, %while.body257 ]
  %30 = add i8 %29, -48
  %31 = icmp ult i8 %30, 10
  br i1 %31, label %land.lhs.true252, label %while.end261
land.lhs.true252:                                 ; preds = %while.cond250
  %cmp253 = icmp ne ptr %next.11, %last
  %cmp255 = icmp samesign ult i64 %i.5, 6
  %or.cond338 = select i1 %cmp253, i1 %cmp255, i1 false
  br i1 %or.cond338, label %while.body257, label %while.end261
while.body257:                                    ; preds = %land.lhs.true252
  %arrayidx258 = getelementptr [6 x i8], ptr %exponent_buffer, i64 0, i64 %i.5
  store i8 %29, ptr %arrayidx258, align 1
  %incdec.ptr259 = getelementptr i8, ptr %next.11, i64 1
  %inc260 = add nuw nsw i64 %i.5, 1
  %.pre523 = load i8, ptr %incdec.ptr259, align 1
  br label %while.cond250
while.end261:                                     ; preds = %land.lhs.true252, %while.cond250
  %cmp262 = icmp ne ptr %next.11, %last
  %cmp264 = icmp eq i64 %i.5, 6
  %or.cond = select i1 %cmp262, i1 %cmp264, i1 false
  br i1 %or.cond, label %cleanup317, label %if.end268
if.end268:                                        ; preds = %while.end261
  %cmp269 = icmp eq i64 %i.5, 0
  br i1 %cmp269, label %if.then276, label %lor.lhs.false270
lor.lhs.false270:                                 ; preds = %if.end268
  %cmp271 = icmp eq i64 %i.5, 1
  %32 = load i8, ptr %exponent_buffer, align 1
  %cmp275 = icmp eq i8 %32, 45
  %or.cond335 = select i1 %cmp271, i1 %cmp275, i1 false
  br i1 %or.cond335, label %if.then276, label %if.end284
if.then276:                                       ; preds = %lor.lhs.false270, %if.end268
  br i1 %cmp62, label %if.then278, label %if.else280
if.then278:                                       ; preds = %if.then276
  %sub279 = sub i64 %dot_position.0, %i.3503.ph
  store i64 %sub279, ptr %exponent, align 8
  br label %cleanup317
if.else280:                                       ; preds = %if.then276
  store i64 %extra_zeros.2, ptr %exponent, align 8
  br label %cleanup317
if.end284:                                        ; preds = %lor.lhs.false270
  %add.ptr288 = getelementptr i8, ptr %exponent_buffer, i64 %i.5
  %call289 = call { ptr, i32 } @_ZN5boost4json6detail8charconv6detail10from_charsIlEENS2_19from_chars_result_tIcEEPKcS8_RT_i(ptr nonnull %exponent_buffer, ptr %add.ptr288, ptr nonnull align 8 %exponent, i32 10) #13
  %33 = extractvalue { ptr, i32 } %call289, 1
  %34 = load i64, ptr %exponent, align 8
  %add290 = add i64 %34, %leading_zero_powers.2
  store i64 %add290, ptr %exponent, align 8
  switch i32 %33, label %sw.default298 [
    i32 22, label %cleanup317
    i32 34, label %sw.bb295
  ]
sw.bb295:                                         ; preds = %if.end284
  br label %cleanup317
sw.default298:                                    ; preds = %if.end284
  br i1 %cmp62, label %if.then300, label %if.else311
if.then300:                                       ; preds = %sw.default298
  br i1 %cmp15.not, label %if.then302, label %if.else307
if.then302:                                       ; preds = %if.then300
  %35 = load i64, ptr %significand, align 8
  %call303 = call i32 @_ZN5boost4json6detail8charconv6detail10num_digitsImEEiT_(i64 %35) #13
  %conv304 = sext i32 %call303 to i64
  %sub305.neg = sub nsw i64 %dot_position.0, %conv304
  %36 = load i64, ptr %exponent, align 8
  %sub306 = add i64 %sub305.neg, %36
  store i64 %sub306, ptr %exponent, align 8
  br label %cleanup317
if.else307:                                       ; preds = %if.then300
  %sub308.neg = sub i64 %dot_position.0, %i.3503.ph
  %sub309 = add i64 %sub308.neg, %add290
  store i64 %sub309, ptr %exponent, align 8
  br label %cleanup317
if.else311:                                       ; preds = %sw.default298
  %add312 = add i64 %add290, %extra_zeros.2
  store i64 %add312, ptr %exponent, align 8
  br label %cleanup317
cleanup317:                                       ; preds = %sw.bb295, %if.end284, %if.then302, %if.else307, %if.else311, %if.then278, %if.else280, %while.end261
  %retval.sroa.0.6 = phi ptr [ %next.11, %while.end261 ], [ %next.11, %if.else280 ], [ %next.11, %if.then278 ], [ %next.11, %sw.bb295 ], [ %first, %if.end284 ], [ %next.11, %if.then302 ], [ %next.11, %if.else307 ], [ %next.11, %if.else311 ]
  %retval.sroa.23.6 = phi i32 [ 34, %while.end261 ], [ 0, %if.else280 ], [ 0, %if.then278 ], [ 34, %sw.bb295 ], [ 22, %if.end284 ], [ 0, %if.then302 ], [ 0, %if.else307 ], [ 0, %if.else311 ]
  br label %cleanup320
cleanup320:                                       ; preds = %if.else155, %if.then202, %sw.bb212, %if.end168, %if.then163, %sw.bb147, %sw.default150, %if.end136, %if.then122, %while.end74, %sw.bb54, %sw.default, %if.end48, %if.then43, %cleanup317
  %retval.sroa.0.7 = phi ptr [ %retval.sroa.0.6, %cleanup317 ], [ %first, %if.then43 ], [ %next.2, %sw.default ], [ %next.2, %sw.bb54 ], [ %first, %if.end48 ], [ %last, %while.end74 ], [ %first, %if.then122 ], [ %next.8, %sw.default150 ], [ %next.8, %sw.bb147 ], [ %first, %if.end136 ], [ %next.8, %if.then163 ], [ %first, %if.end168 ], [ %incdec.ptr169, %sw.bb212 ], [ %first, %if.then202 ], [ %first, %if.else155 ]
  %retval.sroa.23.7 = phi i32 [ %retval.sroa.23.6, %cleanup317 ], [ 22, %if.then43 ], [ 0, %sw.default ], [ 34, %sw.bb54 ], [ 22, %if.end48 ], [ 0, %while.end74 ], [ 22, %if.then122 ], [ 0, %sw.default150 ], [ 34, %sw.bb147 ], [ 22, %if.end136 ], [ 22, %if.then163 ], [ 22, %if.end168 ], [ 34, %sw.bb212 ], [ 22, %if.then202 ], [ 22, %if.else155 ]
  br label %return
return:                                           ; preds = %if.end, %cleanup320, %if.then27, %entry
  %retval.sroa.0.10 = phi ptr [ %first, %entry ], [ %next.1, %if.then27 ], [ %retval.sroa.0.7, %cleanup320 ], [ %first, %if.end ]
  %retval.sroa.23.10 = phi i32 [ 22, %entry ], [ 0, %if.then27 ], [ %retval.sroa.23.7, %cleanup320 ], [ 22, %if.end ]
  %.fca.0.insert = insertvalue { ptr, i32 } poison, ptr %retval.sroa.0.10, 0
  %.fca.1.insert = insertvalue { ptr, i32 } %.fca.0.insert, i32 %retval.sroa.23.10, 1
  ret { ptr, i32 } %.fca.1.insert
}
; Function Attrs: inlinehint nounwind uwtable
define linkonce hidden double @_ZN5boost4json6detail8charconv6detail15compute_float64ElmbRb(i64 %power, i64 %i, i1 zeroext %negative, ptr align 1 %success) #1 comdat {
entry:
  %significand = alloca i64, align 8
  %d81 = alloca double, align 8
  %0 = add i64 %power, 22
  %or.cond = icmp ult i64 %0, 45
  %cmp3 = icmp ult i64 %i, 9007199254740992
  %or.cond90 = select i1 %or.cond, i1 %cmp3, i1 false
  br i1 %or.cond90, label %if.then, label %if.end9
if.then:                                          ; preds = %entry
  %conv = uitofp nneg i64 %i to double
  %cmp4 = icmp slt i64 %power, 0
  br i1 %cmp4, label %if.then5, label %if.else
if.then5:                                         ; preds = %if.then
  %sub = sub nsw i64 0, %power
  %arrayidx = getelementptr [23 x double], ptr @_ZN5boost4json6detail8charconv6detailL13powers_of_tenE, i64 0, i64 %sub
  %1 = load double, ptr %arrayidx, align 8
  %div = fdiv double %conv, %1
  br label %if.end
if.else:                                          ; preds = %if.then
  %arrayidx6 = getelementptr [23 x double], ptr @_ZN5boost4json6detail8charconv6detailL13powers_of_tenE, i64 0, i64 %power
  %2 = load double, ptr %arrayidx6, align 8
  %mul = fmul double %2, %conv
  br label %if.end
if.end:                                           ; preds = %if.else, %if.then5
  %d.0 = phi double [ %div, %if.then5 ], [ %mul, %if.else ]
  %fneg = fneg double %d.0
  %spec.select = select i1 %negative, double %fneg, double %d.0
  store i8 1, ptr %success, align 1
  br label %return
if.end9:                                          ; preds = %entry
  %cmp10 = icmp eq i64 %i, 0
  %cmp11 = icmp slt i64 %power, -325
  %or.cond91 = or i1 %cmp10, %cmp11
  br i1 %or.cond91, label %if.then12, label %if.else14
if.then12:                                        ; preds = %if.end9
  %cond = select i1 %negative, double -0.000000e+00, double 0.000000e+00
  br label %return
if.else14:                                        ; preds = %if.end9
  %cmp15 = icmp sgt i64 %power, 308
  br i1 %cmp15, label %if.then16, label %if.end20
if.then16:                                        ; preds = %if.else14
  %cond18 = select i1 %negative, double 0xFFF0000000000000, double 0x7FF0000000000000
  br label %return
if.end20:                                         ; preds = %if.else14
  %sub21 = add nsw i64 %power, 325
  %arrayidx22 = getelementptr [634 x i64], ptr @_ZN5boost4json6detail8charconv6detailL14significand_64E, i64 0, i64 %sub21
  %3 = load i64, ptr %arrayidx22, align 8
  %mul23 = mul nsw i64 %power, 217706
  %shr = ashr i64 %mul23, 16
  %add24 = add nsw i64 %shr, 1087
  %4 = call range(i64 0, 65) i64 @llvm.ctlz.i64(i64 %i, i1 false)
  %cast.i.i = trunc nuw nsw i64 %4 to i32
  %shl = shl i64 %i, %4
  %conv.i = zext i64 %shl to i128
  %conv1.i = zext i64 %3 to i128
  %mul.i = mul nuw i128 %conv.i, %conv1.i
  %shr.i = lshr i128 %mul.i, 64
  %conv2.i = trunc nuw i128 %shr.i to i64
  %conv3.i = trunc i128 %mul.i to i64
  %and = and i64 %conv2.i, 511
  %cmp29 = icmp eq i64 %and, 511
  br i1 %cmp29, label %land.lhs.true31, label %if.end43, !prof !5
land.lhs.true31:                                  ; preds = %if.end20
  %5 = xor i64 %conv3.i, -1
  %cmp33 = icmp ugt i64 %shl, %5
  br i1 %cmp33, label %if.then34, label %if.end43
if.then34:                                        ; preds = %land.lhs.true31
  %arrayidx36 = getelementptr [634 x i64], ptr @_ZN5boost4json6detail8charconv6detailL15significand_128E, i64 0, i64 %sub21
  %6 = load i64, ptr %arrayidx36, align 8
  %conv1.i135 = zext i64 %6 to i128
  %mul.i136 = mul nuw i128 %conv.i, %conv1.i135
  %shr.i137 = lshr i128 %mul.i136, 64
  %conv2.i138 = trunc nuw i128 %shr.i137 to i64
  %add39 = add i64 %conv3.i, %conv2.i138
  %cmp40 = icmp ult i64 %add39, %conv3.i
  %inc = zext i1 %cmp40 to i64
  %spec.select142 = add nuw i64 %conv2.i, %inc
  br label %if.end43
if.end43:                                         ; preds = %if.then34, %land.lhs.true31, %if.end20
  %high.0 = phi i64 [ %conv2.i, %land.lhs.true31 ], [ %conv2.i, %if.end20 ], [ %spec.select142, %if.then34 ]
  %low.0 = phi i64 [ %conv3.i, %land.lhs.true31 ], [ %conv3.i, %if.end20 ], [ %add39, %if.then34 ]
  %shr44 = lshr i64 %high.0, 63
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %significand) #13
  %add45 = add nuw nsw i64 %shr44, 9
  %shr46 = lshr i64 %high.0, %add45
  store i64 %shr46, ptr %significand, align 8
  %7 = trunc nuw nsw i64 %shr44 to i32
  %conv47 = xor i32 %7, 1
  %add48 = add nuw nsw i32 %conv47, %cast.i.i
  %cmp49 = icmp eq i64 %low.0, 0
  %and51 = and i64 %high.0, 511
  %cmp52 = icmp eq i64 %and51, 0
  %or.cond143 = select i1 %cmp49, i1 %cmp52, i1 false
  %and53 = and i64 %shr46, 3
  %cmp54 = icmp eq i64 %and53, 1
  %or.cond144 = select i1 %or.cond143, i1 %cmp54, i1 false
  br i1 %or.cond144, label %if.then58, label %if.end59, !prof !21
if.then58:                                        ; preds = %if.end43
  store i8 0, ptr %success, align 1
  br label %cleanup82
if.end59:                                         ; preds = %if.end43
  %and60 = and i64 %shr46, 1
  %add61 = add nuw nsw i64 %shr46, %and60
  %shr62 = lshr i64 %add61, 1
  store i64 %shr62, ptr %significand, align 8
  %cmp63 = icmp samesign ugt i64 %add61, 18014398509481983
  br i1 %cmp63, label %if.then64, label %if.end65
if.then64:                                        ; preds = %if.end59
  store i64 4503599627370496, ptr %significand, align 8
  %dec = add nsw i32 %add48, -1
  br label %if.end65
if.end65:                                         ; preds = %if.then64, %if.end59
  %8 = phi i64 [ 4503599627370496, %if.then64 ], [ %shr62, %if.end59 ]
  %leading_zeros.0 = phi i32 [ %dec, %if.then64 ], [ %add48, %if.end59 ]
  %and66 = and i64 %8, 9218868437227405311
  store i64 %and66, ptr %significand, align 8
  %conv67 = sext i32 %leading_zeros.0 to i64
  %sub68 = sub nsw i64 %add24, %conv67
  %cmp69 = icmp eq i64 %add24, %conv67
  %cmp70 = icmp ugt i64 %sub68, 2046
  %9 = select i1 %cmp69, i1 true, i1 %cmp70, !prof !5
  br i1 %9, label %if.then74, label %if.end75, !prof !5
if.then74:                                        ; preds = %if.end65
  store i8 0, ptr %success, align 1
  br label %cleanup82
if.end75:                                         ; preds = %if.end65
  %shl76 = shl nuw nsw i64 %sub68, 52
  %conv78 = zext i1 %negative to i64
  %shl79 = shl nuw i64 %conv78, 63
  %10 = or disjoint i64 %shl76, %shl79
  %or80 = or i64 %10, %and66
  store i64 %or80, ptr %significand, align 8
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %d81) #13
  call void @zmemmove_builtin(ptr nonnull %d81, ptr nonnull %significand, i64 8) #13
  store i8 1, ptr %success, align 1
  %11 = load double, ptr %d81, align 8
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %d81) #13
  br label %cleanup82
cleanup82:                                        ; preds = %if.then74, %if.end75, %if.then58
  %retval.1 = phi double [ 0.000000e+00, %if.then58 ], [ 0.000000e+00, %if.then74 ], [ %11, %if.end75 ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %significand) #13
  br label %return
return:                                           ; preds = %cleanup82, %if.then16, %if.then12, %if.end
  %retval.2 = phi double [ %spec.select, %if.end ], [ %cond, %if.then12 ], [ %cond18, %if.then16 ], [ %retval.1, %cleanup82 ]
  ret double %retval.2
}
; Function Attrs: inlinehint nounwind uwtable
define linkonce hidden { ptr, i32 } @_ZN5boost4json6detail8charconv6detail17from_chars_strtodIdEENS2_19from_chars_result_tIcEEPKcS8_RT_(ptr %first, ptr %last, ptr align 8 %value) #1 comdat {
entry:
  %str_end.i20 = alloca ptr, align 8
  %str_end.i = alloca ptr, align 8
  %buffer = alloca [1024 x i8], align 16
  %sub.ptr.lhs.cast = ptrtoint ptr %last to i64
  %sub.ptr.rhs.cast = ptrtoint ptr %first to i64
  %sub.ptr.sub = sub i64 %sub.ptr.lhs.cast, %sub.ptr.rhs.cast
  %cmp = icmp slt i64 %sub.ptr.sub, 1024
  br i1 %cmp, label %if.then, label %if.end
if.then:                                          ; preds = %entry
  call void @zmemmove_builtin(ptr nonnull %buffer, ptr %first, i64 %sub.ptr.sub) #13
  %arrayidx.i = getelementptr i8, ptr %buffer, i64 %sub.ptr.sub
  store i8 0, ptr %arrayidx.i, align 1
  %call.i = call double @strtod(ptr nonnull %buffer, ptr nonnull %str_end.i) #13
  %cmp.i = fcmp oeq double %call.i, 0x7FF0000000000000
  br i1 %cmp.i, label %_ZN5boost4json6detail8charconv6detail22from_chars_strtod_implIdEENS2_19from_chars_result_tIcEEPKcS8_RT_Pc.exit, label %if.end.i
if.end.i:                                         ; preds = %if.then
  %cmp4.i = fcmp oeq double %call.i, 0.000000e+00
  %0 = load ptr, ptr %str_end.i, align 8
  %cmp5.i = icmp eq ptr %0, %last
  %or.cond.i = select i1 %cmp4.i, i1 %cmp5.i, i1 false
  br i1 %or.cond.i, label %_ZN5boost4json6detail8charconv6detail22from_chars_strtod_implIdEENS2_19from_chars_result_tIcEEPKcS8_RT_Pc.exit, label %if.end9.i
if.end9.i:                                        ; preds = %if.end.i
  store double %call.i, ptr %value, align 8
  %sub.ptr.lhs.cast11.i = ptrtoint ptr %0 to i64
  %sub.ptr.rhs.cast12.i = ptrtoint ptr %buffer to i64
  %sub.ptr.sub13.i = sub i64 %sub.ptr.lhs.cast11.i, %sub.ptr.rhs.cast12.i
  %add.ptr.i = getelementptr i8, ptr %first, i64 %sub.ptr.sub13.i
  br label %_ZN5boost4json6detail8charconv6detail22from_chars_strtod_implIdEENS2_19from_chars_result_tIcEEPKcS8_RT_Pc.exit
_ZN5boost4json6detail8charconv6detail22from_chars_strtod_implIdEENS2_19from_chars_result_tIcEEPKcS8_RT_Pc.exit: ; preds = %if.then, %if.end.i, %if.end9.i
  %retval.sroa.0.0.i = phi ptr [ %add.ptr.i, %if.end9.i ], [ %last, %if.then ], [ %first, %if.end.i ]
  %retval.sroa.4.0.i = phi i32 [ 0, %if.end9.i ], [ 34, %if.then ], [ 34, %if.end.i ]
  br label %return
if.end:                                           ; preds = %entry
  %add = add nuw i64 %sub.ptr.sub, 1
  %call5 = call noalias ptr @malloc(i64 %add) #43
  %cmp6 = icmp eq ptr %call5, null
  br i1 %cmp6, label %return, label %if.end8
if.end8:                                          ; preds = %if.end
  call void @zmemmove_builtin(ptr nonnull %call5, ptr %first, i64 %sub.ptr.sub) #13
  %arrayidx.i24 = getelementptr i8, ptr %call5, i64 %sub.ptr.sub
  store i8 0, ptr %arrayidx.i24, align 1
  %call.i25 = call double @strtod(ptr nonnull %call5, ptr nonnull %str_end.i20) #13
  %cmp.i26 = fcmp oeq double %call.i25, 0x7FF0000000000000
  br i1 %cmp.i26, label %_ZN5boost4json6detail8charconv6detail22from_chars_strtod_implIdEENS2_19from_chars_result_tIcEEPKcS8_RT_Pc.exit40, label %if.end.i27
if.end.i27:                                       ; preds = %if.end8
  %cmp4.i28 = fcmp oeq double %call.i25, 0.000000e+00
  %1 = load ptr, ptr %str_end.i20, align 8
  %cmp5.i29 = icmp eq ptr %1, %last
  %or.cond.i30 = select i1 %cmp4.i28, i1 %cmp5.i29, i1 false
  br i1 %or.cond.i30, label %_ZN5boost4json6detail8charconv6detail22from_chars_strtod_implIdEENS2_19from_chars_result_tIcEEPKcS8_RT_Pc.exit40, label %if.end9.i31
if.end9.i31:                                      ; preds = %if.end.i27
  store double %call.i25, ptr %value, align 8
  %sub.ptr.lhs.cast11.i32 = ptrtoint ptr %1 to i64
  %sub.ptr.rhs.cast12.i33 = ptrtoint ptr %call5 to i64
  %sub.ptr.sub13.i34 = sub i64 %sub.ptr.lhs.cast11.i32, %sub.ptr.rhs.cast12.i33
  %add.ptr.i35 = getelementptr i8, ptr %first, i64 %sub.ptr.sub13.i34
  br label %_ZN5boost4json6detail8charconv6detail22from_chars_strtod_implIdEENS2_19from_chars_result_tIcEEPKcS8_RT_Pc.exit40
_ZN5boost4json6detail8charconv6detail22from_chars_strtod_implIdEENS2_19from_chars_result_tIcEEPKcS8_RT_Pc.exit40: ; preds = %if.end8, %if.end.i27, %if.end9.i31
  %retval.sroa.0.0.i36 = phi ptr [ %add.ptr.i35, %if.end9.i31 ], [ %last, %if.end8 ], [ %first, %if.end.i27 ]
  %retval.sroa.4.0.i37 = phi i32 [ 0, %if.end9.i31 ], [ 34, %if.end8 ], [ 34, %if.end.i27 ]
  call void @free(ptr nonnull %call5) #13
  br label %return
return:                                           ; preds = %_ZN5boost4json6detail8charconv6detail22from_chars_strtod_implIdEENS2_19from_chars_result_tIcEEPKcS8_RT_Pc.exit40, %if.end, %_ZN5boost4json6detail8charconv6detail22from_chars_strtod_implIdEENS2_19from_chars_result_tIcEEPKcS8_RT_Pc.exit
  %retval.sroa.0.1 = phi ptr [ %retval.sroa.0.0.i, %_ZN5boost4json6detail8charconv6detail22from_chars_strtod_implIdEENS2_19from_chars_result_tIcEEPKcS8_RT_Pc.exit ], [ %retval.sroa.0.0.i36, %_ZN5boost4json6detail8charconv6detail22from_chars_strtod_implIdEENS2_19from_chars_result_tIcEEPKcS8_RT_Pc.exit40 ], [ %first, %if.end ]
  %retval.sroa.4.1 = phi i32 [ %retval.sroa.4.0.i, %_ZN5boost4json6detail8charconv6detail22from_chars_strtod_implIdEENS2_19from_chars_result_tIcEEPKcS8_RT_Pc.exit ], [ %retval.sroa.4.0.i37, %_ZN5boost4json6detail8charconv6detail22from_chars_strtod_implIdEENS2_19from_chars_result_tIcEEPKcS8_RT_Pc.exit40 ], [ 12, %if.end ]
  %.fca.0.insert = insertvalue { ptr, i32 } poison, ptr %retval.sroa.0.1, 0
  %.fca.1.insert = insertvalue { ptr, i32 } %.fca.0.insert, i32 %retval.sroa.4.1, 1
  ret { ptr, i32 } %.fca.1.insert
}
; Function Attrs: inlinehint nounwind uwtable
define linkonce hidden zeroext i1 @_ZN5boost4json6detail8charconv6detail15is_integer_charEc(i8 signext %c) #1 comdat {
entry:
  %0 = add i8 %c, -48
  %1 = icmp ult i8 %0, 10
  ret i1 %1
}
; Function Attrs: inlinehint nounwind uwtable
define linkonce hidden zeroext i1 @_ZN5boost4json6detail8charconv6detail11is_hex_charEc(i8 signext %c) #1 comdat {
entry:
  %0 = add i8 %c, -48
  %1 = icmp ult i8 %0, 10
  br i1 %1, label %lor.end8, label %lor.rhs
lor.rhs:                                          ; preds = %entry
  %2 = add i8 %c, -97
  %or.cond = icmp ult i8 %2, 6
  br i1 %or.cond, label %lor.end8, label %lor.rhs3
lor.rhs3:                                         ; preds = %lor.rhs
  %3 = add i8 %c, -65
  %4 = icmp ult i8 %3, 6
  br label %lor.end8
lor.end8:                                         ; preds = %lor.rhs3, %lor.rhs, %entry
  %5 = phi i1 [ true, %entry ], [ %4, %lor.rhs3 ], [ true, %lor.rhs ]
  ret i1 %5
}
; Function Attrs: nounwind uwtable
define linkonce hidden { ptr, i32 } @_ZN5boost4json6detail8charconv6detail10from_charsImEENS2_19from_chars_result_tIcEEPKcS8_RT_i(ptr %first, ptr %last, ptr align 8 %value, i32 %base) #6 comdat {
entry:
  %cmp.i = icmp ule ptr %first, %last
  %0 = add i32 %base, -2
  %1 = icmp ult i32 %0, 35
  %or.cond70.i = select i1 %cmp.i, i1 %1, i1 false
  br i1 %or.cond70.i, label %if.end.i, label %_ZN5boost4json6detail8charconv6detail23from_chars_integer_implImmEENS2_19from_chars_result_tIcEEPKcS8_RT_i.exit
if.end.i:                                         ; preds = %entry
  %conv.i = zext nneg i32 %base to i64
  %cmp4.not.i = icmp eq ptr %first, %last
  br i1 %cmp4.not.i, label %_ZN5boost4json6detail8charconv6detail23from_chars_integer_implImmEENS2_19from_chars_result_tIcEEPKcS8_RT_i.exit, label %land.lhs.true5.i
land.lhs.true5.i:                                 ; preds = %if.end.i
  %2 = load i8, ptr %first, align 1
  switch i8 %2, label %if.end19.i [
    i8 45, label %_ZN5boost4json6detail8charconv6detail23from_chars_integer_implImmEENS2_19from_chars_result_tIcEEPKcS8_RT_i.exit
    i8 43, label %_ZN5boost4json6detail8charconv6detail23from_chars_integer_implImmEENS2_19from_chars_result_tIcEEPKcS8_RT_i.exit
  ]
if.end19.i:                                       ; preds = %land.lhs.true5.i
  %div.i = udiv i64 -1, %conv.i
  %rem.i = urem i64 -1, %conv.i
  %sub.ptr.lhs.cast.i = ptrtoint ptr %last to i64
  %sub.ptr.rhs.cast.i = ptrtoint ptr %first to i64
  %sub.ptr.sub.i = sub i64 %sub.ptr.lhs.cast.i, %sub.ptr.rhs.cast.i
  br label %for.cond.i
for.cond.i:                                       ; preds = %for.inc.i, %if.end19.i
  %next.0.i = phi ptr [ %first, %if.end19.i ], [ %incdec.ptr.i, %for.inc.i ]
  %result.0.i = phi i64 [ 0, %if.end19.i ], [ %add.i, %for.inc.i ]
  %i.0.i = phi i64 [ 0, %if.end19.i ], [ %inc.i, %for.inc.i ]
  %cmp20.i = icmp samesign ult i64 %i.0.i, 19
  %cmp21.i = icmp slt i64 %i.0.i, %sub.ptr.sub.i
  %3 = and i1 %cmp20.i, %cmp21.i
  br i1 %3, label %for.body.i, label %for.end.i
for.body.i:                                       ; preds = %for.cond.i
  %4 = load i8, ptr %next.0.i, align 1
  %idxprom.i.i = zext i8 %4 to i64
  %arrayidx.i.i = getelementptr [256 x i8], ptr @_ZN5boost4json6detail8charconv6detailL12uchar_valuesE, i64 0, i64 %idxprom.i.i
  %5 = load i8, ptr %arrayidx.i.i, align 1
  %conv23.i = zext i8 %5 to i64
  %cmp24.not.i = icmp samesign ult i64 %conv23.i, %conv.i
  br i1 %cmp24.not.i, label %for.inc.i, label %for.end.i
for.inc.i:                                        ; preds = %for.body.i
  %mul.i = mul i64 %result.0.i, %conv.i
  %add.i = add i64 %mul.i, %conv23.i
  %incdec.ptr.i = getelementptr i8, ptr %next.0.i, i64 1
  %inc.i = add nuw nsw i64 %i.0.i, 1
  br label %for.cond.i
for.end.i:                                        ; preds = %for.body.i, %for.cond.i
  br label %for.cond28.i
for.cond28.i:                                     ; preds = %for.inc52.i, %for.end.i
  %next.3.i = phi ptr [ %next.0.i, %for.end.i ], [ %incdec.ptr48.i, %for.inc52.i ]
  %overflowed.0.i = phi i8 [ 0, %for.end.i ], [ %overflowed.1.i, %for.inc52.i ]
  %result.3.i = phi i64 [ %result.0.i, %for.end.i ], [ %result.4.i, %for.inc52.i ]
  %i.1.i = phi i64 [ %i.0.i, %for.end.i ], [ %inc53.i, %for.inc52.i ]
  %cmp29.i = icmp slt i64 %i.1.i, %sub.ptr.sub.i
  br i1 %cmp29.i, label %for.body30.i, label %for.end54.i
for.body30.i:                                     ; preds = %for.cond28.i
  %6 = load i8, ptr %next.3.i, align 1
  %idxprom.i111.i = zext i8 %6 to i64
  %arrayidx.i112.i = getelementptr [256 x i8], ptr @_ZN5boost4json6detail8charconv6detailL12uchar_valuesE, i64 0, i64 %idxprom.i111.i
  %7 = load i8, ptr %arrayidx.i112.i, align 1
  %conv33.i = zext i8 %7 to i64
  %cmp34.not.i = icmp samesign ult i64 %conv33.i, %conv.i
  br i1 %cmp34.not.i, label %if.end36.i, label %for.end54.i
if.end36.i:                                       ; preds = %for.body30.i
  %cmp37.i = icmp ult i64 %result.3.i, %div.i
  br i1 %cmp37.i, label %if.then43.i, label %lor.lhs.false38.i
lor.lhs.false38.i:                                ; preds = %if.end36.i
  %cmp39.i = icmp eq i64 %result.3.i, %div.i
  %cmp42.i = icmp samesign uge i64 %rem.i, %conv33.i
  %or.cond125.i = and i1 %cmp39.i, %cmp42.i
  br i1 %or.cond125.i, label %if.then43.i, label %for.inc52.i
if.then43.i:                                      ; preds = %lor.lhs.false38.i, %if.end36.i
  %mul44.i = mul i64 %result.3.i, %conv.i
  %add46.i = add i64 %mul44.i, %conv33.i
  br label %for.inc52.i
for.inc52.i:                                      ; preds = %if.then43.i, %lor.lhs.false38.i
  %overflowed.1.i = phi i8 [ %overflowed.0.i, %if.then43.i ], [ 1, %lor.lhs.false38.i ]
  %result.4.i = phi i64 [ %add46.i, %if.then43.i ], [ %result.3.i, %lor.lhs.false38.i ]
  %incdec.ptr48.i = getelementptr i8, ptr %next.3.i, i64 1
  %inc53.i = add nuw nsw i64 %i.1.i, 1
  br label %for.cond28.i
for.end54.i:                                      ; preds = %for.body30.i, %for.cond28.i
  %loadedv.i = trunc nuw i8 %overflowed.0.i to i1
  br i1 %loadedv.i, label %_ZN5boost4json6detail8charconv6detail23from_chars_integer_implImmEENS2_19from_chars_result_tIcEEPKcS8_RT_i.exit, label %if.end58.i
if.end58.i:                                       ; preds = %for.end54.i
  store i64 %result.3.i, ptr %value, align 8
  br label %_ZN5boost4json6detail8charconv6detail23from_chars_integer_implImmEENS2_19from_chars_result_tIcEEPKcS8_RT_i.exit
_ZN5boost4json6detail8charconv6detail23from_chars_integer_implImmEENS2_19from_chars_result_tIcEEPKcS8_RT_i.exit: ; preds = %if.end.i, %entry, %land.lhs.true5.i, %land.lhs.true5.i, %for.end54.i, %if.end58.i
  %retval.sroa.0.2.i = phi ptr [ %first, %entry ], [ %first, %land.lhs.true5.i ], [ %next.3.i, %for.end54.i ], [ %next.3.i, %if.end58.i ], [ %first, %land.lhs.true5.i ], [ %first, %if.end.i ]
  %retval.sroa.6.2.i = phi i32 [ 22, %entry ], [ 22, %land.lhs.true5.i ], [ 34, %for.end54.i ], [ 0, %if.end58.i ], [ 22, %land.lhs.true5.i ], [ 22, %if.end.i ]
  %.fca.0.insert.i = insertvalue { ptr, i32 } poison, ptr %retval.sroa.0.2.i, 0
  %.fca.1.insert.i = insertvalue { ptr, i32 } %.fca.0.insert.i, i32 %retval.sroa.6.2.i, 1
  ret { ptr, i32 } %.fca.1.insert.i
}
; Function Attrs: nounwind uwtable
define linkonce hidden { ptr, i32 } @_ZN5boost4json6detail8charconv6detail10from_charsIlEENS2_19from_chars_result_tIcEEPKcS8_RT_i(ptr %first, ptr %last, ptr align 8 %value, i32 %base) #6 comdat {
entry:
  %cmp.i = icmp ule ptr %first, %last
  %0 = add i32 %base, -2
  %1 = icmp ult i32 %0, 35
  %or.cond82.i = select i1 %cmp.i, i1 %1, i1 false
  br i1 %or.cond82.i, label %if.end.i, label %_ZN5boost4json6detail8charconv6detail23from_chars_integer_implIlmEENS2_19from_chars_result_tIcEEPKcS8_RT_i.exit
if.end.i:                                         ; preds = %entry
  %conv.i = zext nneg i32 %base to i64
  %cmp4.not.i = icmp eq ptr %first, %last
  br i1 %cmp4.not.i, label %if.end20.i, label %if.then5.i
if.then5.i:                                       ; preds = %if.end.i
  %2 = load i8, ptr %first, align 1
  switch i8 %2, label %if.end20.i [
    i8 45, label %if.then18.i
    i8 43, label %_ZN5boost4json6detail8charconv6detail23from_chars_integer_implIlmEENS2_19from_chars_result_tIcEEPKcS8_RT_i.exit
  ]
if.then18.i:                                      ; preds = %if.then5.i
  %incdec.ptr.i = getelementptr i8, ptr %first, i64 1
  br label %if.end20.i
if.end20.i:                                       ; preds = %if.then18.i, %if.then5.i, %if.end.i
  %loadedv135.i = phi i1 [ true, %if.then18.i ], [ false, %if.end.i ], [ false, %if.then5.i ]
  %next.0134.i = phi ptr [ %incdec.ptr.i, %if.then18.i ], [ %first, %if.end.i ], [ %first, %if.then5.i ]
  %max_digit.0.i = phi i64 [ -9223372036854775808, %if.then18.i ], [ 9223372036854775807, %if.end.i ], [ 9223372036854775807, %if.then5.i ]
  %div.i = udiv i64 %max_digit.0.i, %conv.i
  %rem.i = urem i64 %max_digit.0.i, %conv.i
  %cmp21.i = icmp eq ptr %next.0134.i, %last
  br i1 %cmp21.i, label %_ZN5boost4json6detail8charconv6detail23from_chars_integer_implIlmEENS2_19from_chars_result_tIcEEPKcS8_RT_i.exit, label %if.end25.i
if.end25.i:                                       ; preds = %if.end20.i
  %sub.ptr.lhs.cast.i = ptrtoint ptr %last to i64
  %sub.ptr.rhs.cast.i = ptrtoint ptr %next.0134.i to i64
  %sub.ptr.sub.i = sub i64 %sub.ptr.lhs.cast.i, %sub.ptr.rhs.cast.i
  br label %for.cond.i
for.cond.i:                                       ; preds = %for.inc.i, %if.end25.i
  %next.1.i = phi ptr [ %next.0134.i, %if.end25.i ], [ %incdec.ptr34.i, %for.inc.i ]
  %result.0.i = phi i64 [ 0, %if.end25.i ], [ %add.i, %for.inc.i ]
  %i.0.i = phi i64 [ 0, %if.end25.i ], [ %inc35.i, %for.inc.i ]
  %cmp26.i = icmp samesign ult i64 %i.0.i, 18
  %cmp27.i = icmp slt i64 %i.0.i, %sub.ptr.sub.i
  %3 = and i1 %cmp26.i, %cmp27.i
  br i1 %3, label %for.body.i, label %for.end.i
for.body.i:                                       ; preds = %for.cond.i
  %4 = load i8, ptr %next.1.i, align 1
  %idxprom.i.i = zext i8 %4 to i64
  %arrayidx.i.i = getelementptr [256 x i8], ptr @_ZN5boost4json6detail8charconv6detailL12uchar_valuesE, i64 0, i64 %idxprom.i.i
  %5 = load i8, ptr %arrayidx.i.i, align 1
  %conv29.i = zext i8 %5 to i64
  %cmp30.not.i = icmp samesign ult i64 %conv29.i, %conv.i
  br i1 %cmp30.not.i, label %for.inc.i, label %for.end.i
for.inc.i:                                        ; preds = %for.body.i
  %mul.i = mul i64 %result.0.i, %conv.i
  %add.i = add i64 %mul.i, %conv29.i
  %incdec.ptr34.i = getelementptr i8, ptr %next.1.i, i64 1
  %inc35.i = add nuw nsw i64 %i.0.i, 1
  br label %for.cond.i
for.end.i:                                        ; preds = %for.body.i, %for.cond.i
  br label %for.cond36.i
for.cond36.i:                                     ; preds = %for.inc60.i, %for.end.i
  %next.4.i = phi ptr [ %next.1.i, %for.end.i ], [ %incdec.ptr56.i, %for.inc60.i ]
  %overflowed.0.i = phi i8 [ 0, %for.end.i ], [ %overflowed.1.i, %for.inc60.i ]
  %result.3.i = phi i64 [ %result.0.i, %for.end.i ], [ %result.4.i, %for.inc60.i ]
  %i.1.i = phi i64 [ %i.0.i, %for.end.i ], [ %inc61.i, %for.inc60.i ]
  %cmp37.i = icmp slt i64 %i.1.i, %sub.ptr.sub.i
  br i1 %cmp37.i, label %for.body38.i, label %for.end62.i
for.body38.i:                                     ; preds = %for.cond36.i
  %6 = load i8, ptr %next.4.i, align 1
  %idxprom.i129.i = zext i8 %6 to i64
  %arrayidx.i130.i = getelementptr [256 x i8], ptr @_ZN5boost4json6detail8charconv6detailL12uchar_valuesE, i64 0, i64 %idxprom.i129.i
  %7 = load i8, ptr %arrayidx.i130.i, align 1
  %conv41.i = zext i8 %7 to i64
  %cmp42.not.i = icmp samesign ult i64 %conv41.i, %conv.i
  br i1 %cmp42.not.i, label %if.end44.i, label %for.end62.i
if.end44.i:                                       ; preds = %for.body38.i
  %cmp45.i = icmp ult i64 %result.3.i, %div.i
  br i1 %cmp45.i, label %if.then50.i, label %lor.lhs.false.i
lor.lhs.false.i:                                  ; preds = %if.end44.i
  %cmp46.i = icmp eq i64 %result.3.i, %div.i
  %cmp49.i = icmp samesign uge i64 %rem.i, %conv41.i
  %or.cond148.i = and i1 %cmp46.i, %cmp49.i
  br i1 %or.cond148.i, label %if.then50.i, label %for.inc60.i
if.then50.i:                                      ; preds = %lor.lhs.false.i, %if.end44.i
  %mul51.i = mul i64 %result.3.i, %conv.i
  %add53.i = add i64 %mul51.i, %conv41.i
  br label %for.inc60.i
for.inc60.i:                                      ; preds = %if.then50.i, %lor.lhs.false.i
  %overflowed.1.i = phi i8 [ %overflowed.0.i, %if.then50.i ], [ 1, %lor.lhs.false.i ]
  %result.4.i = phi i64 [ %add53.i, %if.then50.i ], [ %result.3.i, %lor.lhs.false.i ]
  %incdec.ptr56.i = getelementptr i8, ptr %next.4.i, i64 1
  %inc61.i = add nuw nsw i64 %i.1.i, 1
  br label %for.cond36.i
for.end62.i:                                      ; preds = %for.body38.i, %for.cond36.i
  %loadedv63.i = trunc nuw i8 %overflowed.0.i to i1
  br i1 %loadedv63.i, label %_ZN5boost4json6detail8charconv6detail23from_chars_integer_implIlmEENS2_19from_chars_result_tIcEEPKcS8_RT_i.exit, label %if.end67.i
if.end67.i:                                       ; preds = %for.end62.i
  store i64 %result.3.i, ptr %value, align 8
  br i1 %loadedv135.i, label %if.then69.i, label %_ZN5boost4json6detail8charconv6detail23from_chars_integer_implIlmEENS2_19from_chars_result_tIcEEPKcS8_RT_i.exit
if.then69.i:                                      ; preds = %if.end67.i
  %sub.i = sub i64 0, %result.3.i
  store i64 %sub.i, ptr %value, align 8
  br label %_ZN5boost4json6detail8charconv6detail23from_chars_integer_implIlmEENS2_19from_chars_result_tIcEEPKcS8_RT_i.exit
_ZN5boost4json6detail8charconv6detail23from_chars_integer_implIlmEENS2_19from_chars_result_tIcEEPKcS8_RT_i.exit: ; preds = %entry, %if.then5.i, %if.end20.i, %for.end62.i, %if.end67.i, %if.then69.i
  %retval.sroa.0.2.i = phi ptr [ %first, %entry ], [ %first, %if.end20.i ], [ %next.4.i, %if.end67.i ], [ %next.4.i, %if.then69.i ], [ %next.4.i, %for.end62.i ], [ %first, %if.then5.i ]
  %retval.sroa.6.2.i = phi i32 [ 22, %entry ], [ 22, %if.end20.i ], [ 0, %if.end67.i ], [ 0, %if.then69.i ], [ 34, %for.end62.i ], [ 22, %if.then5.i ]
  %.fca.0.insert.i = insertvalue { ptr, i32 } poison, ptr %retval.sroa.0.2.i, 0
  %.fca.1.insert.i = insertvalue { ptr, i32 } %.fca.0.insert.i, i32 %retval.sroa.6.2.i, 1
  ret { ptr, i32 } %.fca.1.insert.i
}
; Function Attrs: nounwind uwtable
define linkonce hidden i32 @_ZN5boost4json6detail8charconv6detail10num_digitsImEEiT_(i64 %x) #6 comdat {
entry:
  %cmp = icmp ugt i64 %x, 9999999999
  br i1 %cmp, label %if.then, label %if.else27
if.then:                                          ; preds = %entry
  %cmp1 = icmp ugt i64 %x, 99999999999999
  br i1 %cmp1, label %if.then2, label %if.end17
if.then2:                                         ; preds = %if.then
  %cmp3 = icmp ugt i64 %x, 9999999999999999
  br i1 %cmp3, label %if.then4, label %if.else
if.then4:                                         ; preds = %if.then2
  %cmp5 = icmp ugt i64 %x, 99999999999999999
  br i1 %cmp5, label %if.then6, label %return
if.then6:                                         ; preds = %if.then4
  %cmp7 = icmp ugt i64 %x, 999999999999999999
  br i1 %cmp7, label %if.then8, label %return
if.then8:                                         ; preds = %if.then6
  %cmp9 = icmp ugt i64 %x, -8446744073709551617
  %spec.select = select i1 %cmp9, i32 20, i32 19
  br label %return
if.else:                                          ; preds = %if.then2
  %cmp13 = icmp ugt i64 %x, 999999999999999
  %spec.select74 = select i1 %cmp13, i32 16, i32 15
  br label %return
if.end17:                                         ; preds = %if.then
  %cmp18 = icmp ugt i64 %x, 999999999999
  br i1 %cmp18, label %if.then19, label %if.end23
if.then19:                                        ; preds = %if.end17
  %cmp20 = icmp ugt i64 %x, 9999999999999
  %spec.select75 = select i1 %cmp20, i32 14, i32 13
  br label %return
if.end23:                                         ; preds = %if.end17
  %cmp24 = icmp ugt i64 %x, 99999999999
  %spec.select76 = select i1 %cmp24, i32 12, i32 11
  br label %return
if.else27:                                        ; preds = %entry
  %cmp28 = icmp ugt i64 %x, 99999
  br i1 %cmp28, label %if.then29, label %if.end43
if.then29:                                        ; preds = %if.else27
  %cmp30 = icmp ugt i64 %x, 9999999
  br i1 %cmp30, label %if.then31, label %if.end38
if.then31:                                        ; preds = %if.then29
  %cmp32 = icmp ugt i64 %x, 99999999
  br i1 %cmp32, label %if.then33, label %return
if.then33:                                        ; preds = %if.then31
  %cmp34 = icmp ugt i64 %x, 999999999
  %spec.select77 = select i1 %cmp34, i32 10, i32 9
  br label %return
if.end38:                                         ; preds = %if.then29
  %cmp39 = icmp ugt i64 %x, 999999
  %spec.select78 = select i1 %cmp39, i32 7, i32 6
  br label %return
if.end43:                                         ; preds = %if.else27
  %cmp44 = icmp ugt i64 %x, 99
  br i1 %cmp44, label %if.then45, label %if.end52
if.then45:                                        ; preds = %if.end43
  %cmp46 = icmp ugt i64 %x, 999
  br i1 %cmp46, label %if.then47, label %return
if.then47:                                        ; preds = %if.then45
  %cmp48 = icmp ugt i64 %x, 9999
  %spec.select79 = select i1 %cmp48, i32 5, i32 4
  br label %return
if.end52:                                         ; preds = %if.end43
  %cmp53 = icmp ugt i64 %x, 9
  %spec.select80 = select i1 %cmp53, i32 2, i32 1
  br label %return
return:                                           ; preds = %if.end52, %if.then47, %if.end38, %if.then33, %if.end23, %if.then19, %if.else, %if.then8, %if.then45, %if.then31, %if.then4, %if.then6
  %retval.0 = phi i32 [ 18, %if.then6 ], [ 17, %if.then4 ], [ 8, %if.then31 ], [ 3, %if.then45 ], [ %spec.select, %if.then8 ], [ %spec.select74, %if.else ], [ %spec.select75, %if.then19 ], [ %spec.select76, %if.end23 ], [ %spec.select77, %if.then33 ], [ %spec.select78, %if.end38 ], [ %spec.select79, %if.then47 ], [ %spec.select80, %if.end52 ]
  ret i32 %retval.0
}
; Function Attrs: nounwind
declare ptr @malloc(i64) #22
; Function Attrs: nounwind
declare void @free(ptr) #22
; Function Attrs: nounwind
declare double @strtod(ptr, ptr) #22
; Function Attrs: uwtable
define internal void @_GLOBAL__sub_I_src.cpp() #4 section ".text.startup" {
entry:
  %call.i = call i32 @_ZNSt3__18ios_base6xallocEv()
  store i32 %call.i, ptr @_ZN5boost4json12_GLOBAL__N_116serialize_xallocE, align 4
  %call.i1 = call i32 @_ZNSt3__18ios_base6xallocEv()
  store i32 %call.i1, ptr @_ZN5boost4json12_GLOBAL__N_118parse_depth_xallocE, align 4
  %call.i2 = call i32 @_ZNSt3__18ios_base6xallocEv()
  store i32 %call.i2, ptr @_ZN5boost4json12_GLOBAL__N_118parse_flags_xallocE, align 4
  ret void
}
; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare i32 @llvm.fshl.i32(i32, i32, i32) #31
; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare i64 @llvm.umax.i64(i64, i64) #31
; Function Attrs: nofree nounwind willreturn memory(argmem: read)
declare i32 @bcmp(ptr nocapture, ptr nocapture, i64) #34
; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare i64 @llvm.ctpop.i64(i64) #31
; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare i16 @llvm.cttz.i16(i16, i1 immarg) #31
; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare i64 @llvm.fshl.i64(i64, i64, i64) #31
; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare i32 @llvm.smin.i32(i32, i32) #31
; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare i64 @llvm.umin.i64(i64, i64) #31
; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare i1 @llvm.is.fpclass.f64(double, i32 immarg) #31
; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare double @llvm.fabs.f64(double) #31
; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare nonnull ptr @llvm.threadlocal.address.p0(ptr nonnull) #31
; Function Attrs: nounwind willreturn
declare void @__atomic_load(i64, ptr, ptr, i32) #35
; Function Attrs: nounwind willreturn
declare void @__atomic_store(i64, ptr, ptr, i32) #35
; Function Attrs: nounwind willreturn
declare i32 @__atomic_compare_exchange(i64, ptr, ptr, ptr, i32, i32) #35
attributes #0 = { inlinehint uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64-v2" "target-features"="+cmov,+crc32,+cx16,+cx8,+fxsr,+mmx,+popcnt,+sahf,+sse,+sse2,+sse3,+sse4.1,+sse4.2,+ssse3,+x87" }
attributes #1 = { inlinehint nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64-v2" "target-features"="+cmov,+crc32,+cx16,+cx8,+fxsr,+mmx,+popcnt,+sahf,+sse,+sse2,+sse3,+sse4.1,+sse4.2,+ssse3,+x87" }
attributes #2 = { noinline nounwind uwtable "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64-v2" "target-features"="+cmov,+crc32,+cx16,+cx8,+fxsr,+mmx,+popcnt,+sahf,+sse,+sse2,+sse3,+sse4.1,+sse4.2,+ssse3,+x87" }
attributes #3 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #4 = { uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64-v2" "target-features"="+cmov,+crc32,+cx16,+cx8,+fxsr,+mmx,+popcnt,+sahf,+sse,+sse2,+sse3,+sse4.1,+sse4.2,+ssse3,+x87" }
attributes #5 = { noreturn uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64-v2" "target-features"="+cmov,+crc32,+cx16,+cx8,+fxsr,+mmx,+popcnt,+sahf,+sse,+sse2,+sse3,+sse4.1,+sse4.2,+ssse3,+x87" }
attributes #6 = { nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64-v2" "target-features"="+cmov,+crc32,+cx16,+cx8,+fxsr,+mmx,+popcnt,+sahf,+sse,+sse2,+sse3,+sse4.1,+sse4.2,+ssse3,+x87" }
attributes #7 = { nocallback nofree nounwind willreturn memory(argmem: readwrite) }
attributes #8 = { mustprogress nofree norecurse nosync nounwind willreturn memory(none) uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64-v2" "target-features"="+cmov,+crc32,+cx16,+cx8,+fxsr,+mmx,+popcnt,+sahf,+sse,+sse2,+sse3,+sse4.1,+sse4.2,+ssse3,+x87" }
attributes #9 = { nobuiltin nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64-v2" "target-features"="+cmov,+crc32,+cx16,+cx8,+fxsr,+mmx,+popcnt,+sahf,+sse,+sse2,+sse3,+sse4.1,+sse4.2,+ssse3,+x87" }
attributes #10 = { nofree norecurse nosync nounwind memory(argmem: readwrite) uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64-v2" "target-features"="+cmov,+crc32,+cx16,+cx8,+fxsr,+mmx,+popcnt,+sahf,+sse,+sse2,+sse3,+sse4.1,+sse4.2,+ssse3,+x87" }
attributes #11 = { nocallback nofree nounwind willreturn memory(argmem: write) }
attributes #12 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64-v2" "target-features"="+cmov,+crc32,+cx16,+cx8,+fxsr,+mmx,+popcnt,+sahf,+sse,+sse2,+sse3,+sse4.1,+sse4.2,+ssse3,+x87" }
attributes #13 = { nounwind }
attributes #14 = { nofree norecurse nosync nounwind memory(argmem: read) uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64-v2" "target-features"="+cmov,+crc32,+cx16,+cx8,+fxsr,+mmx,+popcnt,+sahf,+sse,+sse2,+sse3,+sse4.1,+sse4.2,+ssse3,+x87" }
attributes #15 = { mustprogress nofree norecurse nounwind willreturn memory(readwrite, inaccessiblemem: none) uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64-v2" "target-features"="+cmov,+crc32,+cx16,+cx8,+fxsr,+mmx,+popcnt,+sahf,+sse,+sse2,+sse3,+sse4.1,+sse4.2,+ssse3,+x87" }
attributes #16 = { nofree nounwind memory(read, inaccessiblemem: none) uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64-v2" "target-features"="+cmov,+crc32,+cx16,+cx8,+fxsr,+mmx,+popcnt,+sahf,+sse,+sse2,+sse3,+sse4.1,+sse4.2,+ssse3,+x87" }
attributes #17 = { mustprogress nofree norecurse nosync nounwind willreturn memory(argmem: read) uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64-v2" "target-features"="+cmov,+crc32,+cx16,+cx8,+fxsr,+mmx,+popcnt,+sahf,+sse,+sse2,+sse3,+sse4.1,+sse4.2,+ssse3,+x87" }
attributes #18 = { uwtable "min-legal-vector-width"="128" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64-v2" "target-features"="+cmov,+crc32,+cx16,+cx8,+fxsr,+mmx,+popcnt,+sahf,+sse,+sse2,+sse3,+sse4.1,+sse4.2,+ssse3,+x87" }
attributes #19 = { nocallback nofree nosync nounwind willreturn memory(none) }
attributes #20 = { mustprogress nofree norecurse nosync nounwind willreturn memory(argmem: write) uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64-v2" "target-features"="+cmov,+crc32,+cx16,+cx8,+fxsr,+mmx,+popcnt,+sahf,+sse,+sse2,+sse3,+sse4.1,+sse4.2,+ssse3,+x87" }
attributes #21 = { mustprogress nofree norecurse nosync nounwind willreturn memory(argmem: readwrite) uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64-v2" "target-features"="+cmov,+crc32,+cx16,+cx8,+fxsr,+mmx,+popcnt,+sahf,+sse,+sse2,+sse3,+sse4.1,+sse4.2,+ssse3,+x87" }
attributes #22 = { nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64-v2" "target-features"="+cmov,+crc32,+cx16,+cx8,+fxsr,+mmx,+popcnt,+sahf,+sse,+sse2,+sse3,+sse4.1,+sse4.2,+ssse3,+x87" }
attributes #23 = { mustprogress nofree norecurse nosync nounwind willreturn memory(write, argmem: readwrite, inaccessiblemem: none) uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64-v2" "target-features"="+cmov,+crc32,+cx16,+cx8,+fxsr,+mmx,+popcnt,+sahf,+sse,+sse2,+sse3,+sse4.1,+sse4.2,+ssse3,+x87" }
attributes #24 = { mustprogress nofree norecurse nosync nounwind willreturn memory(readwrite, inaccessiblemem: none) uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64-v2" "target-features"="+cmov,+crc32,+cx16,+cx8,+fxsr,+mmx,+popcnt,+sahf,+sse,+sse2,+sse3,+sse4.1,+sse4.2,+ssse3,+x87" }
attributes #25 = { nounwind memory(none) }
attributes #26 = { cold noreturn nounwind memory(inaccessiblemem: write) uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64-v2" "target-features"="+cmov,+crc32,+cx16,+cx8,+fxsr,+mmx,+popcnt,+sahf,+sse,+sse2,+sse3,+sse4.1,+sse4.2,+ssse3,+x87" }
attributes #27 = { cold noreturn nounwind memory(inaccessiblemem: write) }
attributes #28 = { nobuiltin "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64-v2" "target-features"="+cmov,+crc32,+cx16,+cx8,+fxsr,+mmx,+popcnt,+sahf,+sse,+sse2,+sse3,+sse4.1,+sse4.2,+ssse3,+x87" }
attributes #29 = { noinline uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64-v2" "target-features"="+cmov,+crc32,+cx16,+cx8,+fxsr,+mmx,+popcnt,+sahf,+sse,+sse2,+sse3,+sse4.1,+sse4.2,+ssse3,+x87" }
attributes #30 = { nocallback nofree nosync nounwind willreturn memory(inaccessiblemem: write) }
attributes #31 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }
attributes #32 = { noinline nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64-v2" "target-features"="+cmov,+crc32,+cx16,+cx8,+fxsr,+mmx,+popcnt,+sahf,+sse,+sse2,+sse3,+sse4.1,+sse4.2,+ssse3,+x87" }
attributes #33 = { convergent nocallback nofree nosync nounwind willreturn memory(none) }
attributes #34 = { nofree nounwind willreturn memory(argmem: read) }
attributes #35 = { nounwind willreturn }
attributes #36 = { noreturn }
attributes #37 = { builtin allocsize(0) }
attributes #38 = { noreturn nounwind }
attributes #39 = { builtin nounwind }
attributes #40 = { nounwind willreturn memory(none) }
attributes #41 = { allocsize(0) }
attributes #42 = { nounwind willreturn memory(read) }
attributes #43 = { nounwind allocsize(0) }
!llvm.module.flags = !{!0, !1, !2}
!llvm.ident = !{!3}
!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"uwtable", i32 2}
!3 = !{!"clang version 20.1.8 (Fil-C 0.684)"}
!4 = !{!"branch_weights", !"expected", i32 2000, i32 1}
!5 = !{!"branch_weights", !"expected", i32 1, i32 2000}
!6 = !{!"branch_weights", i32 -2147483648, i32 -2147483648}
!7 = !{!"branch_weights", !"expected", i32 -2147483648, i32 0}
!8 = !{!"branch_weights", i32 1, i32 4002000, i32 2000}
!9 = !{!"branch_weights", i32 2000, i32 2001, i32 4000000}
!10 = !{!"branch_weights", !"expected", i32 0, i32 -2147483648}
!11 = !{!"branch_weights", i32 4292819, i32 -4292819}
!12 = !{!"branch_weights", i32 4292817, i32 -4292817}
!13 = !{!"branch_weights", i32 -2146410, i32 2146410}
!14 = !{!"branch_weights", i32 2097152, i32 -100663296}
!15 = !{!"branch_weights", i32 2146410443, i32 1073205}
!16 = !{!"branch_weights", !"expected", i32 2146409906, i32 1073742}
!17 = !{!"branch_weights", i32 1, i32 8004000, i32 4000, i32 1}
!18 = !{!"branch_weights", i32 2000, i32 4002, i32 8000000, i32 2000}
!19 = !{!"branch_weights", i32 1, i32 4000, i32 1}
!20 = !{!"branch_weights", i32 4292818, i32 -4292818}
!21 = !{!"branch_weights", i32 7631680, i32 -7631680}
Error parsing module asm
UNREACHABLE executed at /build/filc0-src/llvm/lib/Transforms/Instrumentation/FilPizlonator.cpp:419!
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace, preprocessed source, and associated run script.
Stack dump:
0.	Program arguments: /nix/store/f7c5s76n67mj1pr39cy7aj0akjy1s4mn-filc0-git/bin/clang-20 --filc-resource-dir=/nix/store/y2qxql0v1lb5dq17abn45xycriypv5ks-sarcasm-0-unstable-4867f1179f1c -Wno-unused-command-line-argument --gcc-toolchain=/nix/store/kxm6wzygmj1439ylqdgyl9zqjgf10dy7-gcc-14.3.0 -resource-dir /nix/store/pslnwc5c5msmzmm18l3jc6s0kpf5zyzl-filc0-resource-dir/lib/clang/20 --filc-dynamic-linker=/nix/store/sn36kmszyx8bbq5fcz8xgwls8wdznj8p-filc-crt-lib/ld-fil1-x86_64.so --filc-crt-path=/nix/store/sn36kmszyx8bbq5fcz8xgwls8wdznj8p-filc-crt-lib --filc-stdfil-include=/nix/store/8bfk650x9y08gvn6z25icby9jb75m8pw-libpas-src/filc/include --filc-os-include=/nix/store/lp9agkj5pykd83ndmijvpxcdg0lfvzis-linux-headers-6.12.7/include --filc-include=/nix/store/z2rhn3mva7vphq2x71yslixdwxjnx5fh-yolo-glibc-impl-2.40/include -isystem /nix/store/8hc83l288p7fyb6z7mm2zk80dvqmk7gi-filc-glibc-2.40/include -L/nix/store/8hc83l288p7fyb6z7mm2zk80dvqmk7gi-filc-glibc-2.40/lib -nostdinc++ -I/nix/store/7fsmzzzgkjq3dma1vz6406199xqqz1v3-filc-libcxx-git/include/c++ -L/nix/store/7fsmzzzgkjq3dma1vz6406199xqqz1v3-filc-libcxx-git/lib -fvisibility-inlines-hidden -fPIC -m64 -pthread -O3 -finline-functions -Wno-inline -Wall -fvisibility=hidden -B/nix/store/14i07vk4qkfcdyyha9amqryg033l3xcf-filc-sysroot-with-metadata/lib/ -B/nix/store/31l6alfx8axrfkp0zxza3z7f7gxzi8b3-filc-cc/lib -Wno-unused-command-line-argument -gz=none -B/nix/store/gqxsl4vfi43khmz1snzynr8jwwynkbbw-binutils-wrapper-2.43.1/bin/ -frandom-seed=isn4lmfb9w -DBOOST_ALL_NO_LIB=1 -DBOOST_COBALT_USE_STD_PMR=1 -DBOOST_CONTAINER_DYN_LINK=1 -DBOOST_CONTAINER_NO_LIB=1 -DBOOST_JSON_DYN_LINK=1 -DBOOST_JSON_NO_LIB=1 -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_SYSTEM_NO_LIB=1 -DNDEBUG -I. -I/build/boost_1_87_0/libs/assert/include -I/build/boost_1_87_0/libs/container/include -I/build/boost_1_87_0/libs/container_hash/include -I/build/boost_1_87_0/libs/core/include -I/build/boost_1_87_0/libs/describe/include -I/build/boost_1_87_0/libs/endian/include -I/build/boost_1_87_0/libs/intrusive/include -I/build/boost_1_87_0/libs/json/include -I/build/boost_1_87_0/libs/move/include -I/build/boost_1_87_0/libs/mp11/include -I/build/boost_1_87_0/libs/predef/include -I/build/boost_1_87_0/libs/system/include -I/build/boost_1_87_0/libs/throw_exception/include -I/build/boost_1_87_0/libs/variant2/include -I/build/boost_1_87_0/libs/winapi/include -idirafter /nix/store/14i07vk4qkfcdyyha9amqryg033l3xcf-filc-sysroot-with-metadata/include -isystem /nix/store/7fsmzzzgkjq3dma1vz6406199xqqz1v3-filc-libcxx-git/include -isystem /nix/store/0algafpizv96ksvwvvw0wsg9fx443vk0-zlib-1.3-x86_64-unknown-linux-gnufilc0-dev/include -isystem /nix/store/32pm0fcf094338qvkhz7g28274gigpn8-bzip2-x86_64-unknown-linux-gnufilc0-1.0.8-dev/include -isystem /nix/store/hhbrsh73ankjr9kp96r1qjiljyriwil8-libiconv-x86_64-unknown-linux-gnufilc0-1.17/include -isystem /nix/store/k73b27a32h9grm83dgdcnvl18rh0q6sj-zstd-x86_64-unknown-linux-gnufilc0-1.5.7-dev/include -isystem /nix/store/0f936pinfl9ab9dx12pw8960phswg4if-xz-5.6.2-x86_64-unknown-linux-gnufilc0-dev/include -c -fcolor-diagnostics -o bin.v2/libs/json/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/src.o /build/boost_1_87_0/libs/json/src/src.cpp
1.	<eof> parser at end of file
2.	Optimizer
3.	Running pass "FilPizlonatorPass" on module "/build/boost_1_87_0/libs/json/src/src.cpp"
Stack dump without symbol names (ensure you have llvm-symbolizer in your PATH or set the environment var `LLVM_SYMBOLIZER_PATH` to point to it):
0  clang-20  0x00000000020c62cc llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) + 60
1  clang-20  0x00000000020c3794 llvm::sys::RunSignalHandlers() + 52
2  clang-20  0x0000000002021d30
3  libc.so.6 0x00007ffff7c414b0
4  libc.so.6 0x00007ffff7c9984c
5  libc.so.6 0x00007ffff7c41406 gsignal + 22
6  libc.so.6 0x00007ffff7c2893a abort + 215
7  clang-20  0x000000000202af5a
8  clang-20  0x0000000003a2d469
9  clang-20  0x0000000003a58985
10 clang-20  0x0000000003ad0d3b
11 clang-20  0x0000000003ae0b91 llvm::FilPizlonatorPass::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) + 4737
12 clang-20  0x000000000232f11f
13 clang-20  0x0000000001b90edf llvm::PassManager<llvm::Module, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) + 447
14 clang-20  0x000000000234aa39
15 clang-20  0x000000000234e4cc clang::emitBackendOutput(clang::CompilerInstance&, clang::CodeGenOptions&, llvm::StringRef, llvm::Module*, clang::BackendAction, llvm::IntrusiveRefCntPtr<llvm::vfs::FileSystem>, std::unique_ptr<llvm::raw_pwrite_stream, std::default_delete<llvm::raw_pwrite_stream>>, clang::BackendConsumer*) + 2124
16 clang-20  0x00000000029e796f clang::BackendConsumer::HandleTranslationUnit(clang::ASTContext&) + 1743
17 clang-20  0x000000000473eb8c clang::ParseAST(clang::Sema&, bool, bool) + 1228
18 clang-20  0x0000000002c88161 clang::FrontendAction::Execute() + 49
19 clang-20  0x0000000002c19562 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) + 674
20 clang-20  0x0000000002d60dc0 clang::ExecuteCompilerInvocation(clang::CompilerInstance*) + 448
21 clang-20  0x0000000000c7cf08 cc1_main(llvm::ArrayRef<char const*>, char const*, void*) + 5736
22 clang-20  0x0000000000c75cd2
23 clang-20  0x0000000002a31e69
24 clang-20  0x0000000002021ec6 llvm::CrashRecoveryContext::RunSafely(llvm::function_ref<void ()>) + 150
25 clang-20  0x0000000002a32643
26 clang-20  0x00000000029f0b8d clang::driver::Compilation::ExecuteCommand(clang::driver::Command const&, clang::driver::Command const*&, bool) const + 173
27 clang-20  0x00000000029f11b7 clang::driver::Compilation::ExecuteJobs(clang::driver::JobList const&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&, bool) const + 135
28 clang-20  0x0000000002a02d54 clang::driver::Driver::ExecuteCompilation(clang::driver::Compilation&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&) + 436
29 clang-20  0x0000000000c79189 clang_main(int, char**, llvm::ToolContext const&) + 7241
30 clang-20  0x0000000000b840d4 main + 100
31 libc.so.6 0x00007ffff7c2a47e
32 libc.so.6 0x00007ffff7c2a539 __libc_start_main + 137
33 clang-20  0x0000000000c74ed5 _start + 37
clang-20: error: clang frontend command failed with exit code 134 (use -v to see invocation)
clang version 20.1.8 (Fil-C 0.684)
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /nix/store/f7c5s76n67mj1pr39cy7aj0akjy1s4mn-filc0-git/bin
Build config: +assertions
clang-20: note: diagnostic msg: 
********************
PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
Preprocessed source(s) and associated run script(s) are located at:
clang-20: note: diagnostic msg: /build/src-33d88f.cpp
clang-20: note: diagnostic msg: /build/src-33d88f.sh
clang-20: note: diagnostic msg: 
********************
    "c++"   -fvisibility-inlines-hidden -fPIC -m64 -pthread -O3 -finline-functions -Wno-inline -Wall -fvisibility=hidden  -DBOOST_ALL_NO_LIB=1 -DBOOST_COBALT_USE_STD_PMR=1 -DBOOST_CONTAINER_DYN_LINK=1 -DBOOST_CONTAINER_NO_LIB=1 -DBOOST_JSON_DYN_LINK=1 -DBOOST_JSON_NO_LIB=1 -DBOOST_SYSTEM_DYN_LINK=1 -DBOOST_SYSTEM_NO_LIB=1 -DNDEBUG   -I"." -I"/build/boost_1_87_0/libs/assert/include" -I"/build/boost_1_87_0/libs/container/include" -I"/build/boost_1_87_0/libs/container_hash/include" -I"/build/boost_1_87_0/libs/core/include" -I"/build/boost_1_87_0/libs/describe/include" -I"/build/boost_1_87_0/libs/endian/include" -I"/build/boost_1_87_0/libs/intrusive/include" -I"/build/boost_1_87_0/libs/json/include" -I"/build/boost_1_87_0/libs/move/include" -I"/build/boost_1_87_0/libs/mp11/include" -I"/build/boost_1_87_0/libs/predef/include" -I"/build/boost_1_87_0/libs/system/include" -I"/build/boost_1_87_0/libs/throw_exception/include" -I"/build/boost_1_87_0/libs/variant2/include" -I"/build/boost_1_87_0/libs/winapi/include"  -c -o "bin.v2/libs/json/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/src.o" "/build/boost_1_87_0/libs/json/src/src.cpp"
...failed gcc.compile.c++ bin.v2/libs/json/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/src.o...
...skipped <pbin.v2/libs/json/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden>libboost_json.so.1.87.0 for lack of <pbin.v2/libs/json/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden>src.o...
...skipped <p/build/boost_1_87_0/stage/lib>libboost_json.so.1.87.0 for lack of <pbin.v2/libs/json/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden>libboost_json.so.1.87.0...
...skipped <p/build/boost_1_87_0/stage/lib>libboost_json.so for lack of <p/build/boost_1_87_0/stage/lib>libboost_json.so.1.87.0...
...skipped <pbin.v2/libs/json/gcc-cross/release/x86_64/threading-multi/visibility-hidden>stage/boost_json-config.cmake for lack of <pbin.v2/libs/json/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden>libboost_json.so.1.87.0...
...skipped <p/build/boost_1_87_0/stage/lib/cmake/boost_json-1.87.0>boost_json-config.cmake for lack of <pbin.v2/libs/json/gcc-cross/release/x86_64/threading-multi/visibility-hidden>stage/boost_json-config.cmake...
...skipped <pbin.v2/libs/json/gcc-cross/release/x86_64/threading-multi/visibility-hidden>stage/boost_json-config-version.cmake for lack of <pbin.v2/libs/json/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden>libboost_json.so.1.87.0...
...skipped <p/build/boost_1_87_0/stage/lib/cmake/boost_json-1.87.0>boost_json-config-version.cmake for lack of <pbin.v2/libs/json/gcc-cross/release/x86_64/threading-multi/visibility-hidden>stage/boost_json-config-version.cmake...
...skipped <pbin.v2/libs/json/gcc-cross/release/x86_64/threading-multi/visibility-hidden>libboost_json-variant-shared.cmake for lack of <pbin.v2/libs/json/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden>libboost_json.so.1.87.0...
...skipped <p/build/boost_1_87_0/stage/lib/cmake/boost_json-1.87.0>libboost_json-variant-shared.cmake for lack of <pbin.v2/libs/json/gcc-cross/release/x86_64/threading-multi/visibility-hidden>libboost_json-variant-shared.cmake...
gcc.compile.c++ bin.v2/libs/math/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/acoshl.o
gcc.link.dll bin.v2/libs/math/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/libboost_math_c99f.so.1.87.0
gcc.compile.c++ bin.v2/libs/math/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/asinhl.o
common.copy /build/boost_1_87_0/stage/lib/libboost_math_c99f.so.1.87.0
ln-UNIX /build/boost_1_87_0/stage/lib/libboost_math_c99f.so
common.copy /build/boost_1_87_0/stage/lib/cmake/boost_math_c99f-1.87.0/boost_math_c99f-config.cmake
common.copy /build/boost_1_87_0/stage/lib/cmake/boost_math_c99f-1.87.0/boost_math_c99f-config-version.cmake
common.copy /build/boost_1_87_0/stage/lib/cmake/boost_math_c99f-1.87.0/libboost_math_c99f-variant-shared.cmake
gcc.compile.c++ bin.v2/libs/math/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/copysignl.o
gcc.compile.c++ bin.v2/libs/math/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/atanhl.o
gcc.compile.c++ bin.v2/libs/math/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/cbrtl.o
gcc.compile.c++ bin.v2/libs/math/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/erfcl.o
gcc.compile.c++ bin.v2/libs/math/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/fmaxl.o
gcc.compile.c++ bin.v2/libs/math/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/expm1l.o
gcc.compile.c++ bin.v2/libs/math/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/fminl.o
gcc.compile.c++ bin.v2/libs/math/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/erfl.o
gcc.compile.c++ bin.v2/libs/math/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/fpclassifyl.o
gcc.compile.c++ bin.v2/libs/math/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/hypotl.o
gcc.compile.c++ bin.v2/libs/math/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/llroundl.o
gcc.compile.c++ bin.v2/libs/math/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/lgammal.o
gcc.compile.c++ bin.v2/libs/math/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/log1pl.o
gcc.compile.c++ bin.v2/libs/math/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/lroundl.o
gcc.compile.c++ bin.v2/libs/math/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/nextafterl.o
gcc.compile.c++ bin.v2/libs/math/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/roundl.o
gcc.compile.c++ bin.v2/libs/math/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/nexttowardl.o
gcc.compile.c++ bin.v2/libs/math/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/truncl.o
gcc.compile.c++ bin.v2/libs/math/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/tgammal.o
gcc.link.dll bin.v2/libs/math/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/libboost_math_c99l.so.1.87.0
common.copy /build/boost_1_87_0/stage/lib/libboost_math_c99l.so.1.87.0
ln-UNIX /build/boost_1_87_0/stage/lib/libboost_math_c99l.so
common.copy /build/boost_1_87_0/stage/lib/cmake/boost_math_c99l-1.87.0/boost_math_c99l-config.cmake
common.copy /build/boost_1_87_0/stage/lib/cmake/boost_math_c99l-1.87.0/boost_math_c99l-config-version.cmake
common.copy /build/boost_1_87_0/stage/lib/cmake/boost_math_c99l-1.87.0/libboost_math_c99l-variant-shared.cmake
gcc.compile.c++ bin.v2/libs/math/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/assoc_laguerre.o
gcc.compile.c++ bin.v2/libs/math/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/beta.o
gcc.compile.c++ bin.v2/libs/math/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/comp_ellint_1.o
gcc.compile.c++ bin.v2/libs/math/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/assoc_legendre.o
gcc.compile.c++ bin.v2/libs/math/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/comp_ellint_2.o
gcc.compile.c++ bin.v2/libs/math/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/comp_ellint_3.o
gcc.compile.c++ bin.v2/libs/math/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/cyl_bessel_i.o
gcc.compile.c++ bin.v2/libs/math/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/cyl_bessel_j.o
gcc.compile.c++ bin.v2/libs/math/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/cyl_bessel_k.o
gcc.compile.c++ bin.v2/libs/math/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/cyl_neumann.o
gcc.compile.c++ bin.v2/libs/math/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/ellint_1.o
gcc.compile.c++ bin.v2/libs/math/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/hermite.o
...on 1000th target...
gcc.compile.c++ bin.v2/libs/math/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/expint.o
gcc.compile.c++ bin.v2/libs/math/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/ellint_2.o
gcc.compile.c++ bin.v2/libs/math/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/laguerre.o
gcc.compile.c++ bin.v2/libs/math/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/legendre.o
gcc.compile.c++ bin.v2/libs/math/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/ellint_3.o
gcc.compile.c++ bin.v2/libs/math/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/sph_legendre.o
gcc.compile.c++ bin.v2/libs/math/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/sph_bessel.o
gcc.compile.c++ bin.v2/libs/math/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/assoc_laguerref.o
gcc.compile.c++ bin.v2/libs/math/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/betaf.o
gcc.compile.c++ bin.v2/libs/math/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/assoc_legendref.o
gcc.compile.c++ bin.v2/libs/math/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/sph_neumann.o
gcc.compile.c++ bin.v2/libs/math/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/comp_ellint_1f.o
gcc.compile.c++ bin.v2/libs/math/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/riemann_zeta.o
gcc.link.dll bin.v2/libs/math/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/libboost_math_tr1.so.1.87.0
common.copy /build/boost_1_87_0/stage/lib/libboost_math_tr1.so.1.87.0
ln-UNIX /build/boost_1_87_0/stage/lib/libboost_math_tr1.so
common.copy /build/boost_1_87_0/stage/lib/cmake/boost_math_tr1-1.87.0/boost_math_tr1-config.cmake
common.copy /build/boost_1_87_0/stage/lib/cmake/boost_math_tr1-1.87.0/boost_math_tr1-config-version.cmake
common.copy /build/boost_1_87_0/stage/lib/cmake/boost_math_tr1-1.87.0/libboost_math_tr1-variant-shared.cmake
gcc.compile.c++ bin.v2/libs/math/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/comp_ellint_2f.o
gcc.compile.c++ bin.v2/libs/math/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/comp_ellint_3f.o
gcc.compile.c++ bin.v2/libs/math/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/cyl_bessel_if.o
gcc.compile.c++ bin.v2/libs/math/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/cyl_bessel_jf.o
gcc.compile.c++ bin.v2/libs/math/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/cyl_neumannf.o
gcc.compile.c++ bin.v2/libs/math/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/cyl_bessel_kf.o
gcc.compile.c++ bin.v2/libs/math/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/ellint_1f.o
gcc.compile.c++ bin.v2/libs/math/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/hermitef.o
gcc.compile.c++ bin.v2/libs/math/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/expintf.o
gcc.compile.c++ bin.v2/libs/math/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/laguerref.o
gcc.compile.c++ bin.v2/libs/math/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/ellint_2f.o
gcc.compile.c++ bin.v2/libs/math/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/legendref.o
gcc.compile.c++ bin.v2/libs/math/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/ellint_3f.o
gcc.compile.c++ bin.v2/libs/math/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/sph_legendref.o
gcc.compile.c++ bin.v2/libs/math/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/sph_besself.o
gcc.compile.c++ bin.v2/libs/math/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/assoc_laguerrel.o
gcc.compile.c++ bin.v2/libs/math/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/betal.o
gcc.compile.c++ bin.v2/libs/math/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/sph_neumannf.o
gcc.compile.c++ bin.v2/libs/math/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/assoc_legendrel.o
gcc.compile.c++ bin.v2/libs/math/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/riemann_zetaf.o
gcc.link.dll bin.v2/libs/math/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/libboost_math_tr1f.so.1.87.0
common.copy /build/boost_1_87_0/stage/lib/libboost_math_tr1f.so.1.87.0
ln-UNIX /build/boost_1_87_0/stage/lib/libboost_math_tr1f.so
common.copy /build/boost_1_87_0/stage/lib/cmake/boost_math_tr1f-1.87.0/boost_math_tr1f-config.cmake
common.copy /build/boost_1_87_0/stage/lib/cmake/boost_math_tr1f-1.87.0/boost_math_tr1f-config-version.cmake
common.copy /build/boost_1_87_0/stage/lib/cmake/boost_math_tr1f-1.87.0/libboost_math_tr1f-variant-shared.cmake
gcc.compile.c++ bin.v2/libs/math/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/comp_ellint_1l.o
gcc.compile.c++ bin.v2/libs/math/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/comp_ellint_2l.o
gcc.compile.c++ bin.v2/libs/math/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/comp_ellint_3l.o
gcc.compile.c++ bin.v2/libs/math/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/cyl_bessel_il.o
gcc.compile.c++ bin.v2/libs/math/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/cyl_bessel_jl.o
gcc.compile.c++ bin.v2/libs/math/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/cyl_neumannl.o
gcc.compile.c++ bin.v2/libs/math/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/cyl_bessel_kl.o
gcc.compile.c++ bin.v2/libs/math/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/ellint_1l.o
gcc.compile.c++ bin.v2/libs/math/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/expintl.o
gcc.compile.c++ bin.v2/libs/math/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/hermitel.o
gcc.compile.c++ bin.v2/libs/math/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/ellint_2l.o
gcc.compile.c++ bin.v2/libs/math/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/laguerrel.o
gcc.compile.c++ bin.v2/libs/math/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/legendrel.o
gcc.compile.c++ bin.v2/libs/math/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/ellint_3l.o
gcc.compile.c++ bin.v2/libs/math/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/sph_legendrel.o
gcc.compile.c++ bin.v2/libs/math/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/sph_bessell.o
gcc.compile.c++ bin.v2/libs/math/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/sph_neumannl.o
gcc.compile.c++ bin.v2/libs/math/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/riemann_zetal.o
gcc.link.dll bin.v2/libs/math/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/libboost_math_tr1l.so.1.87.0
common.copy /build/boost_1_87_0/stage/lib/libboost_math_tr1l.so.1.87.0
ln-UNIX /build/boost_1_87_0/stage/lib/libboost_math_tr1l.so
common.copy /build/boost_1_87_0/stage/lib/cmake/boost_math_tr1l-1.87.0/boost_math_tr1l-config.cmake
common.copy /build/boost_1_87_0/stage/lib/cmake/boost_math_tr1l-1.87.0/boost_math_tr1l-config-version.cmake
common.copy /build/boost_1_87_0/stage/lib/cmake/boost_math_tr1l-1.87.0/libboost_math_tr1l-variant-shared.cmake
gcc.compile.c++ bin.v2/libs/iostreams/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/gzip.o
gcc.compile.c++ bin.v2/libs/iostreams/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/lzma.o
gcc.compile.c++ bin.v2/libs/iostreams/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/zlib.o
gcc.compile.c++ bin.v2/libs/iostreams/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/zstd.o
gcc.link.dll bin.v2/libs/iostreams/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/libboost_iostreams.so.1.87.0
common.copy /build/boost_1_87_0/stage/lib/libboost_iostreams.so.1.87.0
ln-UNIX /build/boost_1_87_0/stage/lib/libboost_iostreams.so
...on 1100th target...
common.copy /build/boost_1_87_0/stage/lib/cmake/boost_iostreams-1.87.0/boost_iostreams-config.cmake
common.copy /build/boost_1_87_0/stage/lib/cmake/boost_iostreams-1.87.0/boost_iostreams-config-version.cmake
common.copy /build/boost_1_87_0/stage/lib/cmake/boost_iostreams-1.87.0/libboost_iostreams-variant-shared.cmake
gcc.compile.c++ bin.v2/libs/fiber/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/algo/algorithm.o
gcc.compile.c++ bin.v2/libs/fiber/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/algo/round_robin.o
gcc.compile.c++ bin.v2/libs/fiber/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/algo/shared_work.o
gcc.compile.c++ bin.v2/libs/fiber/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/barrier.o
gcc.compile.c++ bin.v2/libs/fiber/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/algo/work_stealing.o
gcc.compile.c++ bin.v2/libs/fiber/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/condition_variable.o
gcc.compile.c++ bin.v2/libs/fiber/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/fiber.o
gcc.compile.c++ bin.v2/libs/fiber/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/waker.o
gcc.compile.c++ bin.v2/libs/fiber/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/future.o
gcc.compile.c++ bin.v2/libs/fiber/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/context.o
gcc.compile.c++ bin.v2/libs/fiber/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/properties.o
gcc.compile.c++ bin.v2/libs/fiber/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/mutex.o
gcc.compile.c++ bin.v2/libs/fiber/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/recursive_mutex.o
gcc.compile.c++ bin.v2/libs/coroutine/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/detail/coroutine_context.o
gcc.compile.c++ bin.v2/libs/fiber/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/recursive_timed_mutex.o
gcc.compile.c++ bin.v2/libs/fiber/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/timed_mutex.o
gcc.compile.c++ bin.v2/libs/coroutine/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/exceptions.o
gcc.compile.c++ bin.v2/libs/coroutine/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/posix/stack_traits.o
...skipped <pbin.v2/libs/coroutine/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden>libboost_coroutine.so.1.87.0 for lack of <pbin.v2/libs/context/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden>libboost_context.so.1.87.0...
...skipped <p/build/boost_1_87_0/stage/lib>libboost_coroutine.so.1.87.0 for lack of <pbin.v2/libs/coroutine/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden>libboost_coroutine.so.1.87.0...
...skipped <p/build/boost_1_87_0/stage/lib>libboost_coroutine.so for lack of <p/build/boost_1_87_0/stage/lib>libboost_coroutine.so.1.87.0...
...skipped <pbin.v2/libs/coroutine/gcc-cross/release/x86_64/threading-multi/visibility-hidden>stage/boost_coroutine-config.cmake for lack of <pbin.v2/libs/coroutine/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden>libboost_coroutine.so.1.87.0...
...skipped <p/build/boost_1_87_0/stage/lib/cmake/boost_coroutine-1.87.0>boost_coroutine-config.cmake for lack of <pbin.v2/libs/coroutine/gcc-cross/release/x86_64/threading-multi/visibility-hidden>stage/boost_coroutine-config.cmake...
...skipped <pbin.v2/libs/coroutine/gcc-cross/release/x86_64/threading-multi/visibility-hidden>stage/boost_coroutine-config-version.cmake for lack of <pbin.v2/libs/coroutine/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden>libboost_coroutine.so.1.87.0...
...skipped <p/build/boost_1_87_0/stage/lib/cmake/boost_coroutine-1.87.0>boost_coroutine-config-version.cmake for lack of <pbin.v2/libs/coroutine/gcc-cross/release/x86_64/threading-multi/visibility-hidden>stage/boost_coroutine-config-version.cmake...
...skipped <pbin.v2/libs/coroutine/gcc-cross/release/x86_64/threading-multi/visibility-hidden>libboost_coroutine-variant-shared.cmake for lack of <pbin.v2/libs/coroutine/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden>libboost_coroutine.so.1.87.0...
...skipped <p/build/boost_1_87_0/stage/lib/cmake/boost_coroutine-1.87.0>libboost_coroutine-variant-shared.cmake for lack of <pbin.v2/libs/coroutine/gcc-cross/release/x86_64/threading-multi/visibility-hidden>libboost_coroutine-variant-shared.cmake...
gcc.compile.c++ bin.v2/libs/fiber/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/scheduler.o
...skipped <pbin.v2/libs/fiber/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden>libboost_fiber.so.1.87.0 for lack of <pbin.v2/libs/context/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden>libboost_context.so.1.87.0...
...skipped <p/build/boost_1_87_0/stage/lib>libboost_fiber.so.1.87.0 for lack of <pbin.v2/libs/fiber/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden>libboost_fiber.so.1.87.0...
...skipped <p/build/boost_1_87_0/stage/lib>libboost_fiber.so for lack of <p/build/boost_1_87_0/stage/lib>libboost_fiber.so.1.87.0...
...skipped <pbin.v2/libs/fiber/gcc-cross/release/x86_64/threading-multi/visibility-hidden>stage/boost_fiber-config.cmake for lack of <pbin.v2/libs/fiber/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden>libboost_fiber.so.1.87.0...
...skipped <p/build/boost_1_87_0/stage/lib/cmake/boost_fiber-1.87.0>boost_fiber-config.cmake for lack of <pbin.v2/libs/fiber/gcc-cross/release/x86_64/threading-multi/visibility-hidden>stage/boost_fiber-config.cmake...
...skipped <pbin.v2/libs/fiber/gcc-cross/release/x86_64/threading-multi/visibility-hidden>stage/boost_fiber-config-version.cmake for lack of <pbin.v2/libs/fiber/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden>libboost_fiber.so.1.87.0...
...skipped <p/build/boost_1_87_0/stage/lib/cmake/boost_fiber-1.87.0>boost_fiber-config-version.cmake for lack of <pbin.v2/libs/fiber/gcc-cross/release/x86_64/threading-multi/visibility-hidden>stage/boost_fiber-config-version.cmake...
...skipped <pbin.v2/libs/fiber/gcc-cross/release/x86_64/threading-multi/visibility-hidden>libboost_fiber-variant-shared.cmake for lack of <pbin.v2/libs/fiber/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden>libboost_fiber.so.1.87.0...
...skipped <p/build/boost_1_87_0/stage/lib/cmake/boost_fiber-1.87.0>libboost_fiber-variant-shared.cmake for lack of <pbin.v2/libs/fiber/gcc-cross/release/x86_64/threading-multi/visibility-hidden>libboost_fiber-variant-shared.cmake...
gcc.compile.c++ bin.v2/libs/charconv/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/from_chars.o
gcc.compile.c++ bin.v2/libs/charconv/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/to_chars.o
gcc.link.dll bin.v2/libs/charconv/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/libboost_charconv.so.1.87.0
common.copy /build/boost_1_87_0/stage/lib/libboost_charconv.so.1.87.0
ln-UNIX /build/boost_1_87_0/stage/lib/libboost_charconv.so
common.copy /build/boost_1_87_0/stage/lib/cmake/boost_charconv-1.87.0/boost_charconv-config.cmake
common.copy /build/boost_1_87_0/stage/lib/cmake/boost_charconv-1.87.0/boost_charconv-config-version.cmake
common.copy /build/boost_1_87_0/stage/lib/cmake/boost_charconv-1.87.0/libboost_charconv-variant-shared.cmake
gcc.compile.c++ bin.v2/libs/wave/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/instantiate_re2c_lexer.o
In file included from /build/boost_1_87_0/libs/wave/src/instantiate_re2c_lexer.cpp:24:
In file included from ./boost/wave/cpplexer/cpp_lex_iterator.hpp:22:
In file included from ./boost/spirit/include/support_multi_pass.hpp:16:
In file included from ./boost/spirit/home/support/multi_pass.hpp:16:
In file included from ./boost/spirit/home/support/iterators/detail/ref_counted_policy.hpp:13:
./boost/detail/atomic_count.hpp:10:1: warning: This header is deprecated. Use <boost/smart_ptr/detail/atomic_count.hpp> instead. [-W#pragma-messages]
   10 | BOOST_HEADER_DEPRECATED("<boost/smart_ptr/detail/atomic_count.hpp>")
      | ^
./boost/config/header_deprecated.hpp:23:37: note: expanded from macro 'BOOST_HEADER_DEPRECATED'
   23 | # define BOOST_HEADER_DEPRECATED(a) BOOST_PRAGMA_MESSAGE("This header is deprecated. Use " a " instead.")
      |                                     ^
./boost/config/pragma_message.hpp:24:34: note: expanded from macro 'BOOST_PRAGMA_MESSAGE'
   24 | # define BOOST_PRAGMA_MESSAGE(x) _Pragma(BOOST_STRINGIZE(message(x)))
      |                                  ^
<scratch space>:3:2: note: expanded from here
    3 |  message("This header is deprecated. Use " "<boost/smart_ptr/detail/atomic_count.hpp>" " instead.")
      |  ^
1 warning generated.
gcc.compile.c++ bin.v2/libs/wave/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/instantiate_re2c_lexer_str.o
In file included from /build/boost_1_87_0/libs/wave/src/instantiate_re2c_lexer_str.cpp:24:
In file included from ./boost/wave/cpplexer/cpp_lex_iterator.hpp:22:
In file included from ./boost/spirit/include/support_multi_pass.hpp:16:
In file included from ./boost/spirit/home/support/multi_pass.hpp:16:
In file included from ./boost/spirit/home/support/iterators/detail/ref_counted_policy.hpp:13:
./boost/detail/atomic_count.hpp:10:1: warning: This header is deprecated. Use <boost/smart_ptr/detail/atomic_count.hpp> instead. [-W#pragma-messages]
   10 | BOOST_HEADER_DEPRECATED("<boost/smart_ptr/detail/atomic_count.hpp>")
      | ^
./boost/config/header_deprecated.hpp:23:37: note: expanded from macro 'BOOST_HEADER_DEPRECATED'
   23 | # define BOOST_HEADER_DEPRECATED(a) BOOST_PRAGMA_MESSAGE("This header is deprecated. Use " a " instead.")
      |                                     ^
./boost/config/pragma_message.hpp:24:34: note: expanded from macro 'BOOST_PRAGMA_MESSAGE'
   24 | # define BOOST_PRAGMA_MESSAGE(x) _Pragma(BOOST_STRINGIZE(message(x)))
      |                                  ^
<scratch space>:3:2: note: expanded from here
    3 |  message("This header is deprecated. Use " "<boost/smart_ptr/detail/atomic_count.hpp>" " instead.")
      |  ^
1 warning generated.
gcc.link.dll bin.v2/libs/wave/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/libboost_wave.so.1.87.0
common.copy /build/boost_1_87_0/stage/lib/cmake/boost_wave-1.87.0/boost_wave-config-version.cmake
common.copy /build/boost_1_87_0/stage/lib/cmake/boost_wave-1.87.0/libboost_wave-variant-shared.cmake
common.copy /build/boost_1_87_0/stage/lib/cmake/boost_wave-1.87.0/boost_wave-config.cmake
common.copy /build/boost_1_87_0/stage/lib/libboost_wave.so.1.87.0
ln-UNIX /build/boost_1_87_0/stage/lib/libboost_wave.so
...updated 1171 targets...
...skipped 54 targets...
   <p/build/boost_1_87_0/stage/lib/cmake/boost_context-1.87.0>boost_context-config-version.cmake
   <p/build/boost_1_87_0/stage/lib/cmake/boost_context-1.87.0>boost_context-config.cmake
   <p/build/boost_1_87_0/stage/lib/cmake/boost_context-1.87.0>libboost_context-variant-shared.cmake
   <p/build/boost_1_87_0/stage/lib/cmake/boost_coroutine-1.87.0>boost_coroutine-config-version.cmake
   <p/build/boost_1_87_0/stage/lib/cmake/boost_coroutine-1.87.0>boost_coroutine-config.cmake
   <p/build/boost_1_87_0/stage/lib/cmake/boost_coroutine-1.87.0>libboost_coroutine-variant-shared.cmake
   <p/build/boost_1_87_0/stage/lib/cmake/boost_fiber-1.87.0>boost_fiber-config-version.cmake
   <p/build/boost_1_87_0/stage/lib/cmake/boost_fiber-1.87.0>boost_fiber-config.cmake
   <p/build/boost_1_87_0/stage/lib/cmake/boost_fiber-1.87.0>libboost_fiber-variant-shared.cmake
   <p/build/boost_1_87_0/stage/lib/cmake/boost_graph-1.87.0>boost_graph-config-version.cmake
   <p/build/boost_1_87_0/stage/lib/cmake/boost_graph-1.87.0>boost_graph-config.cmake
   <p/build/boost_1_87_0/stage/lib/cmake/boost_graph-1.87.0>libboost_graph-variant-shared.cmake
   <p/build/boost_1_87_0/stage/lib/cmake/boost_json-1.87.0>boost_json-config-version.cmake
   <p/build/boost_1_87_0/stage/lib/cmake/boost_json-1.87.0>boost_json-config.cmake
   <p/build/boost_1_87_0/stage/lib/cmake/boost_json-1.87.0>libboost_json-variant-shared.cmake
   <p/build/boost_1_87_0/stage/lib/cmake/boost_process-1.87.0>boost_process-config-version.cmake
   <p/build/boost_1_87_0/stage/lib/cmake/boost_process-1.87.0>boost_process-config.cmake
   <p/build/boost_1_87_0/stage/lib/cmake/boost_process-1.87.0>libboost_process-variant-shared.cmake
   <p/build/boost_1_87_0/stage/lib>libboost_context.so
   <p/build/boost_1_87_0/stage/lib>libboost_context.so.1.87.0
   <p/build/boost_1_87_0/stage/lib>libboost_coroutine.so
   <p/build/boost_1_87_0/stage/lib>libboost_coroutine.so.1.87.0
   <p/build/boost_1_87_0/stage/lib>libboost_fiber.so
   <p/build/boost_1_87_0/stage/lib>libboost_fiber.so.1.87.0
   <p/build/boost_1_87_0/stage/lib>libboost_graph.so
   <p/build/boost_1_87_0/stage/lib>libboost_graph.so.1.87.0
   <p/build/boost_1_87_0/stage/lib>libboost_json.so
   <p/build/boost_1_87_0/stage/lib>libboost_json.so.1.87.0
   <p/build/boost_1_87_0/stage/lib>libboost_process.so
   <p/build/boost_1_87_0/stage/lib>libboost_process.so.1.87.0
   <pbin.v2/libs/context/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden>libboost_context.so.1.87.0
   <pbin.v2/libs/context/gcc-cross/release/x86_64/threading-multi/visibility-hidden>libboost_context-variant-shared.cmake
   <pbin.v2/libs/context/gcc-cross/release/x86_64/threading-multi/visibility-hidden>stage/boost_context-config-version.cmake
   <pbin.v2/libs/context/gcc-cross/release/x86_64/threading-multi/visibility-hidden>stage/boost_context-config.cmake
   <pbin.v2/libs/coroutine/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden>libboost_coroutine.so.1.87.0
   <pbin.v2/libs/coroutine/gcc-cross/release/x86_64/threading-multi/visibility-hidden>libboost_coroutine-variant-shared.cmake
   <pbin.v2/libs/coroutine/gcc-cross/release/x86_64/threading-multi/visibility-hidden>stage/boost_coroutine-config-version.cmake
   <pbin.v2/libs/coroutine/gcc-cross/release/x86_64/threading-multi/visibility-hidden>stage/boost_coroutine-config.cmake
   <pbin.v2/libs/fiber/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden>libboost_fiber.so.1.87.0
   <pbin.v2/libs/fiber/gcc-cross/release/x86_64/threading-multi/visibility-hidden>libboost_fiber-variant-shared.cmake
   <pbin.v2/libs/fiber/gcc-cross/release/x86_64/threading-multi/visibility-hidden>stage/boost_fiber-config-version.cmake
   <pbin.v2/libs/fiber/gcc-cross/release/x86_64/threading-multi/visibility-hidden>stage/boost_fiber-config.cmake
   <pbin.v2/libs/graph/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden>libboost_graph-variant-shared.cmake
   <pbin.v2/libs/graph/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden>libboost_graph.so.1.87.0
   <pbin.v2/libs/graph/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden>stage/boost_graph-config-version.cmake
   <pbin.v2/libs/graph/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden>stage/boost_graph-config.cmake
   <pbin.v2/libs/json/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden>libboost_json.so.1.87.0
   <pbin.v2/libs/json/gcc-cross/release/x86_64/threading-multi/visibility-hidden>libboost_json-variant-shared.cmake
   <pbin.v2/libs/json/gcc-cross/release/x86_64/threading-multi/visibility-hidden>stage/boost_json-config-version.cmake
   <pbin.v2/libs/json/gcc-cross/release/x86_64/threading-multi/visibility-hidden>stage/boost_json-config.cmake
   <pbin.v2/libs/process/build/gcc-cross/release/x86_64/boost.process.fs-boost/threading-multi/visibility-hidden>libboost_process.so.1.87.0
   <pbin.v2/libs/process/gcc-cross/release/x86_64/boost.process.fs-boost/threading-multi/visibility-hidden>libboost_process-variant-shared.cmake
   <pbin.v2/libs/process/gcc-cross/release/x86_64/boost.process.fs-boost/threading-multi/visibility-hidden>stage/boost_process-config-version.cmake
   <pbin.v2/libs/process/gcc-cross/release/x86_64/boost.process.fs-boost/threading-multi/visibility-hidden>stage/boost_process-config.cmake
...failed updating 6 targets...
   gcc.compile.asm bin.v2/libs/context/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/asm/jump_x86_64_sysv_elf_gas.o
   gcc.compile.asm bin.v2/libs/context/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/asm/make_x86_64_sysv_elf_gas.o
   gcc.compile.asm bin.v2/libs/context/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/asm/ontop_x86_64_sysv_elf_gas.o
   gcc.compile.c++ bin.v2/libs/graph/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/graphml.o
   gcc.compile.c++ bin.v2/libs/graph/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/read_graphviz_new.o
   gcc.compile.c++ bin.v2/libs/json/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/src.o
error: Cannot build '/nix/store/1faxbdiw19a57fn68c44lf0ajrn5aana-boost-x86_64-unknown-linux-gnufilc0-1.87.0.drv'.
       Reason: builder failed with exit code 1.
       Output paths:
         /nix/store/isn4lmfb9wbiz2p8gx0gq7m4kqhziwp0-boost-x86_64-unknown-linux-gnufilc0-1.87.0
         /nix/store/jalh06gl7ix34n6lk42qbw3rcscmcdn2-boost-x86_64-unknown-linux-gnufilc0-1.87.0-dev
       Last 25 log lines:
       >    <pbin.v2/libs/coroutine/gcc-cross/release/x86_64/threading-multi/visibility-hidden>stage/boost_coroutine-config.cmake
       >    <pbin.v2/libs/fiber/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden>libboost_fiber.so.1.87.0
       >    <pbin.v2/libs/fiber/gcc-cross/release/x86_64/threading-multi/visibility-hidden>libboost_fiber-variant-shared.cmake
       >    <pbin.v2/libs/fiber/gcc-cross/release/x86_64/threading-multi/visibility-hidden>stage/boost_fiber-config-version.cmake
       >    <pbin.v2/libs/fiber/gcc-cross/release/x86_64/threading-multi/visibility-hidden>stage/boost_fiber-config.cmake
       >    <pbin.v2/libs/graph/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden>libboost_graph-variant-shared.cmake
       >    <pbin.v2/libs/graph/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden>libboost_graph.so.1.87.0
       >    <pbin.v2/libs/graph/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden>stage/boost_graph-config-version.cmake
       >    <pbin.v2/libs/graph/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden>stage/boost_graph-config.cmake
       >    <pbin.v2/libs/json/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden>libboost_json.so.1.87.0
       >    <pbin.v2/libs/json/gcc-cross/release/x86_64/threading-multi/visibility-hidden>libboost_json-variant-shared.cmake
       >    <pbin.v2/libs/json/gcc-cross/release/x86_64/threading-multi/visibility-hidden>stage/boost_json-config-version.cmake
       >    <pbin.v2/libs/json/gcc-cross/release/x86_64/threading-multi/visibility-hidden>stage/boost_json-config.cmake
       >    <pbin.v2/libs/process/build/gcc-cross/release/x86_64/boost.process.fs-boost/threading-multi/visibility-hidden>libboost_process.so.1.87.0
       >    <pbin.v2/libs/process/gcc-cross/release/x86_64/boost.process.fs-boost/threading-multi/visibility-hidden>libboost_process-variant-shared.cmake
       >    <pbin.v2/libs/process/gcc-cross/release/x86_64/boost.process.fs-boost/threading-multi/visibility-hidden>stage/boost_process-config-version.cmake
       >    <pbin.v2/libs/process/gcc-cross/release/x86_64/boost.process.fs-boost/threading-multi/visibility-hidden>stage/boost_process-config.cmake
       >
       > ...failed updating 6 targets...
       >    gcc.compile.asm bin.v2/libs/context/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/asm/jump_x86_64_sysv_elf_gas.o
       >    gcc.compile.asm bin.v2/libs/context/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/asm/make_x86_64_sysv_elf_gas.o
       >    gcc.compile.asm bin.v2/libs/context/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/asm/ontop_x86_64_sysv_elf_gas.o
       >    gcc.compile.c++ bin.v2/libs/graph/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/graphml.o
       >    gcc.compile.c++ bin.v2/libs/graph/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/read_graphviz_new.o
       >    gcc.compile.c++ bin.v2/libs/json/build/gcc-cross/release/x86_64/threading-multi/visibility-hidden/src.o
       For full logs, run:
         nix log /nix/store/1faxbdiw19a57fn68c44lf0ajrn5aana-boost-x86_64-unknown-linux-gnufilc0-1.87.0.drv
ansifilter-2.21
error: Cannot build '/nix/store/b1l1pa6rzawy00djzfzfv131dwdi70n2-ansifilter-x86_64-unknown-linux-gnufilc0-2.21.drv'.
       Reason: 1 dependency failed.
       Output paths:
         /nix/store/jy9s56n6frnfb3859p11rhpygayi2b94-ansifilter-x86_64-unknown-linux-gnufilc0-2.21

End of log