<?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"/>
      <FunctionNode startPos="0,0,0" endPos="0,0,0">
        <FunctionParameterNode materialize="true" startPos="2,9,60" endPos="2,18,69">
          <NameSlot slot="1" 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="0" 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">
              <VariableReferenceNode startPos="4,5,100" endPos="4,6,101"/>
              <NumberNode startPos="4,9,104" endPos="4,10,105">1</NumberNode>
            </BinaryOpNode>
            <BinaryOpNode 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 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 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"/>
                </IfNode>
              </VarDirective>
            </InlineTailRecFunctionCall>
          </IfNode>
        </TailRecFunctionBodyNode>
      </FunctionNode>
    </FunctionDirective>
  </HeaderNode>
  <FunctionCallNode startPos="9,1,165" endPos="9,9,173"/>
</AST>