<?xml version='1.0' encoding='UTF-8'?>
<AST>
  <HeaderNode startPos="1,1,0" endPos="12,1,435">
    <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="value" startPos="0,0,0" endPos="0,0,0"/>
      <NameSlot slot="3" name="count" startPos="1,15,14" endPos="1,20,19"/>
      <NameSlot slot="4" name="branching" startPos="1,5,4" endPos="1,14,13"/>
      <NameSlot slot="5" name="branchingUnless" startPos="7,5,207" endPos="7,20,222"/>
    </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="1,1,0" endPos="5,45,201">
      <NameSlot slot="4" name="branching" startPos="1,5,4" endPos="1,14,13"/>
      <FunctionNode startPos="0,0,0" endPos="0,0,0">
        <FunctionParameterNode materialize="true" startPos="1,15,14" endPos="1,28,27">
          <NameSlot slot="3" name="count" startPos="1,15,14" endPos="1,20,19"/>
          <TypeNode startPos="1,22,21" endPos="1,28,27"/>
        </FunctionParameterNode>
        <FunctionParameterNode materialize="true" startPos="1,30,29" endPos="1,47,46">
          <NameSlot slot="2" name="value" startPos="1,30,29" endPos="1,35,34"/>
          <TypeNode startPos="1,36,35" endPos="1,42,41"/>
        </FunctionParameterNode>
        <TailRecFunctionBodyNode startPos="0,0,0" endPos="0,0,0">
          <IfNode startPos="0,0,0" endPos="0,0,0">
            <VariableReferenceNode startPos="2,20,69" endPos="2,25,74"/>
            <BinaryOpNode startPos="2,8,57" endPos="2,18,67"/>
            <IfNode startPos="0,0,0" endPos="0,0,0">
              <StringNode startPos="3,25,99" endPos="3,30,104">Bar</StringNode>
              <BinaryOpNode startPos="3,13,87" endPos="3,23,97"/>
              <IfNode startPos="0,0,0" endPos="0,0,0">
                <InlineTailRecFunctionCall startPos="0,0,0" endPos="0,0,0">
                  <VarDirective startPos="0,0,0" endPos="0,0,0">
                    <NameSlot slot="3" name="count" startPos="1,15,14" endPos="1,20,19"/>
                    <NumberNode startPos="4,35,139" endPos="4,36,140">0</NumberNode>
                  </VarDirective>
                  <VarDirective startPos="0,0,0" endPos="0,0,0">
                    <NameSlot slot="2" name="value" startPos="1,30,29" endPos="1,35,34"/>
                    <BinaryOpNode startPos="4,38,142" endPos="4,51,155"/>
                  </VarDirective>
                </InlineTailRecFunctionCall>
                <BinaryOpNode startPos="4,13,117" endPos="4,23,127"/>
                <InlineTailRecFunctionCall startPos="0,0,0" endPos="0,0,0">
                  <VarDirective startPos="0,0,0" endPos="0,0,0">
                    <NameSlot slot="3" name="count" startPos="1,15,14" endPos="1,20,19"/>
                    <BinaryOpNode startPos="5,20,176" endPos="5,29,185"/>
                  </VarDirective>
                  <VarDirective startPos="0,0,0" endPos="0,0,0">
                    <NameSlot slot="2" name="value" startPos="1,30,29" endPos="1,35,34"/>
                    <BinaryOpNode startPos="5,31,187" endPos="5,44,200"/>
                  </VarDirective>
                </InlineTailRecFunctionCall>
              </IfNode>
            </IfNode>
          </IfNode>
        </TailRecFunctionBodyNode>
      </FunctionNode>
    </FunctionDirective>
    <FunctionDirective startPos="7,1,203" endPos="11,51,434">
      <NameSlot slot="5" name="branchingUnless" startPos="7,5,207" endPos="7,20,222"/>
      <FunctionNode startPos="0,0,0" endPos="0,0,0">
        <FunctionParameterNode materialize="true" startPos="7,21,223" endPos="7,34,236">
          <NameSlot slot="3" name="count" startPos="7,21,223" endPos="7,26,228"/>
          <TypeNode startPos="7,28,230" endPos="7,34,236"/>
        </FunctionParameterNode>
        <FunctionParameterNode materialize="true" startPos="7,36,238" endPos="7,53,255">
          <NameSlot slot="2" name="value" startPos="7,36,238" endPos="7,41,243"/>
          <TypeNode startPos="7,42,244" endPos="7,48,250"/>
        </FunctionParameterNode>
        <TailRecFunctionBodyNode startPos="0,0,0" endPos="0,0,0">
          <UnlessNode startPos="0,0,0" endPos="0,0,0">
            <VariableReferenceNode startPos="8,24,282" endPos="8,29,287"/>
            <UnlessNode startPos="0,0,0" endPos="0,0,0">
              <StringNode startPos="9,29,316" endPos="9,34,321">Bar</StringNode>
              <UnlessNode startPos="0,0,0" endPos="0,0,0">
                <InlineTailRecFunctionCall startPos="0,0,0" endPos="0,0,0">
                  <VarDirective startPos="0,0,0" endPos="0,0,0">
                    <NameSlot slot="3" name="count" startPos="7,21,223" endPos="7,26,228"/>
                    <NumberNode startPos="10,45,366" endPos="10,46,367">0</NumberNode>
                  </VarDirective>
                  <VarDirective startPos="0,0,0" endPos="0,0,0">
                    <NameSlot slot="2" name="value" startPos="7,36,238" endPos="7,41,243"/>
                    <BinaryOpNode startPos="10,48,369" endPos="10,61,382"/>
                  </VarDirective>
                </InlineTailRecFunctionCall>
                <InlineTailRecFunctionCall startPos="0,0,0" endPos="0,0,0">
                  <VarDirective startPos="0,0,0" endPos="0,0,0">
                    <NameSlot slot="3" name="count" startPos="7,21,223" endPos="7,26,228"/>
                    <BinaryOpNode startPos="11,26,409" endPos="11,35,418"/>
                  </VarDirective>
                  <VarDirective startPos="0,0,0" endPos="0,0,0">
                    <NameSlot slot="2" name="value" startPos="7,36,238" endPos="7,41,243"/>
                    <BinaryOpNode startPos="11,37,420" endPos="11,50,433"/>
                  </VarDirective>
                </InlineTailRecFunctionCall>
              </UnlessNode>
            </UnlessNode>
          </UnlessNode>
        </TailRecFunctionBodyNode>
      </FunctionNode>
    </FunctionDirective>
  </HeaderNode>
  <FunctionCallNode startPos="13,1,439" endPos="13,14,452"/>
</AST>