<?xml version='1.0' encoding='UTF-8'?>
<AST>
  <HeaderNode startPos="1,1,0" endPos="8,1,161">
    <VariableTable startPos="0,0,0" endPos="0,0,0">
      <NameSlot slot="0" name="in1" startPos="0,0,0" endPos="0,0,0"/>
      <NameSlot slot="1" name="in0" startPos="0,0,0" endPos="0,0,0"/>
      <NameSlot slot="2" name="n" startPos="0,0,0" endPos="0,0,0"/>
      <NameSlot slot="3" name="m" startPos="2,9,60" endPos="2,10,61"/>
      <NameSlot slot="4" name="ack" startPos="0,0,0" endPos="0,0,0"/>
    </VariableTable>
    <InputDirective startPos="0,0,0" endPos="0,0,0">
      <NameSlot slot="0" name="in1" startPos="0,0,0" endPos="0,0,0"/>
    </InputDirective>
    <InputDirective startPos="0,0,0" endPos="0,0,0">
      <NameSlot slot="1" name="in0" startPos="0,0,0" endPos="0,0,0"/>
    </InputDirective>
    <FunctionDirective startPos="2,1,52" endPos="6,48,159">
      <NameSlot slot="4" name="ack" startPos="2,5,56" endPos="2,8,59"/>
      <FunctionNode startPos="0,0,0" endPos="0,0,0">
        <FunctionParameterNode materialize="true" startPos="2,9,60" endPos="2,18,69">
          <NameSlot slot="3" name="m" startPos="2,9,60" endPos="2,10,61"/>
          <TypeNode startPos="2,12,63" endPos="2,18,69"/>
        </FunctionParameterNode>
        <FunctionParameterNode materialize="true" startPos="2,20,71" endPos="2,29,80">
          <NameSlot slot="2" name="n" startPos="2,20,71" endPos="2,21,72"/>
          <TypeNode startPos="2,23,74" endPos="2,29,80"/>
        </FunctionParameterNode>
        <TailRecFunctionBodyNode startPos="0,0,0" endPos="0,0,0">
          <IfNode startPos="0,0,0" endPos="0,0,0">
            <BinaryOpNode startPos="4,5,100" endPos="4,10,105"/>
            <BinaryOpNode startPos="3,5,88" endPos="3,11,94"/>
            <InlineTailRecFunctionCall startPos="0,0,0" endPos="0,0,0">
              <VarDirective startPos="0,0,0" endPos="0,0,0">
                <NameSlot slot="3" name="m" startPos="2,9,60" endPos="2,10,61"/>
                <BinaryOpNode startPos="6,9,120" endPos="6,14,125"/>
              </VarDirective>
              <VarDirective startPos="0,0,0" endPos="0,0,0">
                <NameSlot slot="2" name="n" startPos="2,20,71" endPos="2,21,72"/>
                <IfNode startPos="6,16,127" endPos="6,47,158">
                  <NumberNode startPos="6,27,138" endPos="6,28,139">1</NumberNode>
                  <BinaryOpNode startPos="6,19,130" endPos="6,25,136"/>
                  <FunctionCallNode startPos="6,34,145" endPos="6,47,158"/>
                </IfNode>
              </VarDirective>
            </InlineTailRecFunctionCall>
          </IfNode>
        </TailRecFunctionBodyNode>
      </FunctionNode>
    </FunctionDirective>
  </HeaderNode>
  <FunctionCallNode startPos="9,1,165" endPos="9,9,173"/>
</AST>