(CommandList
  children: [
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} {(Lit_Other '=')} {(DQ (-p))} 
                  {(Lit_Other ']')}
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:precision)
                  op: Equal
                  rhs: {($ VSub_Number '$2')}
                  spids: [28]
                )
              ]
              spids: [28]
            )
            (C {(shift)} {(2)})
          ]
          spids: [16777215 25]
        )
      ]
      else_action: [
        (Assignment
          keyword: Assign_None
          pairs: [(assign_pair lhs:(LhsName name:precision) op:Equal rhs:{(2)} spids:[39])]
          spids: [39]
        )
      ]
      spids: [36 45]
    )
    (SimpleCommand
      words: [{(bc)} {(-q)}]
      redirects: [
        (HereDoc
          op: <Redir_DLess '<<'>
          fd: 16777215
          here_begin: {(EOF)}
          here_end_span_id: 63
          stdin_parts: [('scale=') ($ VSub_Name '$precision') ('\n') ($ VSub_Star '$*') ('\n') ('quit\n')]
        )
      ]
    )
    (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(0)})
  ]
)