docs: def parse_options():
      """
          Parses command-line options.
      """
  
      try:
          opts, args = getopt.getopt(sys.argv[1:], 'hms:v', ['help', 'model', 'solver=', 'verbose'])
      except getopt.GetoptError as err:
          sys.stderr.write(str(err).capitalize())
          print_usage()
          sys.exit(1)
  
      solver = 'g4'
      verbose = 1
      print_model = False
  
      for opt, arg in opts:
          if opt in ('-h', '--help'):
              print_usage()
              sys.exit(0)
          elif opt in ('-m', '--model'):
              print_model = True
          elif opt in ('-s', '--solver'):
              solver = str(arg)
          elif opt in ('-v', '--verbose'):
              verbose += 1
          else:
              assert False, 'Unhandled option: {0} {1}'.format(opt, arg)
  
      return print_model, solver, verbose, args