func(zeros,{(for(<i,1,[x],1>,{0}))}):

func(largetrim,{sub({let(a,largesci([x])):print_
  largeunsci(<left(elem([a],1),[y]+2),elem([a],2)>)
})}):

func(lgreater,{
  sub({let(a,[x]):let(b,[y]):
  print_iff([a]=[b],{0},{
    iff(left(quote(largesub([a],[b])),1)=`-',
    {0},{1})})})}):

func(largepow,{sub({let(a,[x]):let(b,[y]):
  print_
  iff(lgreater(0,[b]),{
    largediv(1,largepow([a],largeabs([b])))
  },{
    sub({
      let(r,+1.0):
      if_([b]=0) @ done:
      [b]:do:
        let(r,largemul([r],[a])):
      loop:
      anchor_done:
      print_[r]})})})}):

let(l*,~largemul~):
let(l/,~largediv~):
let(l+,~largeadd~):
let(l-,~largesub~):
let(l^,~largepow~):

func(largem,{sub({
  let(rtn,[x]):
  let(a,quote(largeadd(0,[x]))):
  let(deci,instr([a],`.')):
  let(intp,left([a],[deci]-1)):
  let(i,[deci]+1):
  let(n,0):
  [y]:do:
    if_((mid([a],[i],1)=`9')!)@done:
    let(i,[i]+1):
    if_(greater([i]),len([a]))@done:
    let(n,[n]+1):
  loop:
  anchor_done:
  if_(([n]=0)|greater([y],[n]))@exit:
  let(rtn,
    iff(left([intp],1)=`+',
    {largeadd(unquote([intp]),1)},
    {largesub(unquote([intp]),1)})
  ):
  anchor_exit:print_([rtn])})}):

func(largen,{largem([x],8)}):

print_`largenum.txt',: