<?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="n" startPos="0,0,0" endPos="0,0,0"/>
      <NameSlot slot="1" name="m" startPos="2,9,60" endPos="2,10,61"/>
      <NameSlot slot="2" name="ack" startPos="0,0,0" endPos="0,0,0"/>
    </VariableTable>
    <VariableTable startPos="0,0,0" endPos="0,0,0">
      <NameSlot slot="0" name="dw::Core" startPos="0,0,0" endPos="0,0,0"/>
    </VariableTable>
    <ExternalBindings startPos="0,0,0" endPos="0,0,0"/>
    <FunctionDirective startPos="2,1,52" endPos="6,48,159">
      <NameSlot slot="2" name="ack" startPos="2,5,56" endPos="2,8,59"/>
      <DynamicFunctionNode startPos="0,0,0" endPos="0,0,0">
        <FunctionParameterNode materialize="true" typeRequiresMaterialize="false" startPos="2,9,60" endPos="2,18,69">
          <NameSlot slot="1" name="m" startPos="2,9,60" endPos="2,10,61"/>
          <LiteralTypeNode startPos="0,0,0" endPos="0,0,0">
            <TypeNode startPos="2,12,63" endPos="2,18,69"/>
          </LiteralTypeNode>
        </FunctionParameterNode>
        <FunctionParameterNode materialize="true" typeRequiresMaterialize="false" startPos="2,20,71" endPos="2,29,80">
          <NameSlot slot="0" name="n" startPos="2,20,71" endPos="2,21,72"/>
          <LiteralTypeNode startPos="0,0,0" endPos="0,0,0">
            <TypeNode startPos="2,23,74" endPos="2,29,80"/>
          </LiteralTypeNode>
        </FunctionParameterNode>
        <TailRecFunctionBodyNode startPos="0,0,0" endPos="0,0,0">
          <IfNode startPos="0,0,0" endPos="0,0,0">
            <BinaryOpNode name="+" startPos="4,5,100" endPos="4,10,105">
              <VariableReferenceNode startPos="4,5,100" endPos="4,6,101"/>
              <NumberNode startPos="4,9,104" endPos="4,10,105">1</NumberNode>
            </BinaryOpNode>
            <BinaryOpNode name="==" startPos="3,5,88" endPos="3,11,94">
              <VariableReferenceNode startPos="3,5,88" endPos="3,6,89"/>
              <NumberNode startPos="3,10,93" endPos="3,11,94">0</NumberNode>
            </BinaryOpNode>
            <InlineTailRecFunctionCall startPos="0,0,0" endPos="0,0,0">
              <VarDirective startPos="0,0,0" endPos="0,0,0">
                <NameSlot slot="1" name="m" startPos="2,9,60" endPos="2,10,61"/>
                <BinaryOpNode name="-" startPos="6,9,120" endPos="6,14,125">
                  <VariableReferenceNode startPos="6,9,120" endPos="6,10,121"/>
                  <NumberNode startPos="6,13,124" endPos="6,14,125">1</NumberNode>
                </BinaryOpNode>
              </VarDirective>
              <VarDirective startPos="0,0,0" endPos="0,0,0">
                <NameSlot slot="0" 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 name="==" startPos="6,19,130" endPos="6,25,136">
                    <VariableReferenceNode startPos="6,19,130" endPos="6,20,131"/>
                    <NumberNode startPos="6,24,135" endPos="6,25,136">0</NumberNode>
                  </BinaryOpNode>
                  <FunctionCallNode startPos="6,34,145" endPos="6,47,158">
                    <VariableReferenceNode startPos="6,34,145" endPos="6,37,148"/>
                    <VariableReferenceNode startPos="6,38,149" endPos="6,39,150"/>
                    <BinaryOpNode name="-" startPos="6,41,152" endPos="6,46,157">
                      <VariableReferenceNode startPos="6,41,152" endPos="6,42,153"/>
                      <NumberNode startPos="6,45,156" endPos="6,46,157">1</NumberNode>
                    </BinaryOpNode>
                  </FunctionCallNode>
                </IfNode>
              </VarDirective>
            </InlineTailRecFunctionCall>
          </IfNode>
        </TailRecFunctionBodyNode>
      </DynamicFunctionNode>
    </FunctionDirective>
  </HeaderNode>
  <FunctionCallNode startPos="9,1,165" endPos="9,9,173">
    <VariableReferenceNode startPos="9,1,165" endPos="9,4,168"/>
    <NumberNode startPos="9,5,169" endPos="9,6,170">4</NumberNode>
    <NumberNode startPos="9,7,171" endPos="9,8,172">2</NumberNode>
  </FunctionCallNode>
</AST>