docs: def _Bern_to_Fierz_III_IV_V(C, qqqq):
      """From Bern to 4-quark Fierz basis for Classes III, IV and V.
      `qqqq` should be of the form 'sbuc', 'sdcc', 'ucuu' etc."""
      # 2nd != 4th, color-octet redundant
      if qqqq in ['sbss', 'dbdd', 'dbds', 'sbsd', 'bsbd', 'dsdd']:
          return {
                  'F' + qqqq + '1': C['1' + qqqq] + 16 * C['3' + qqqq],
                  'F' + qqqq + '1p': C['1p' + qqqq] + 16 * C['3p' + qqqq],
                  'F' + qqqq + '3': C['1' + qqqq] + 4 * C['3' + qqqq],
                  'F' + qqqq + '3p': C['1p' + qqqq] + 4 * C['3p' + qqqq],
                  'F' + qqqq + '5': C['5p' + qqqq] + 64 * C['9p' + qqqq],
                  'F' + qqqq + '5p': C['5' + qqqq] + 64 * C['9' + qqqq],
                  'F' + qqqq + '7': C['5p' + qqqq] + 16 * C['9p' + qqqq],
                  'F' + qqqq + '7p': C['5' + qqqq] + 16 * C['9' + qqqq],
                  'F' + qqqq + '9': C['7p' + qqqq] - 16 * C['9p' + qqqq],
                  'F' + qqqq + '9p': C['7' + qqqq] - 16 * C['9' + qqqq],
                  }
      if qqqq in ['dbbb', 'sbbb', 'dsss']:  # 2nd = 4th, color-octet redundant
          return {
                  'F' + qqqq + '1': C['1' + qqqq] + 16 * C['3' + qqqq],
                  'F' + qqqq + '1p': C['1p' + qqqq] + 16 * C['3p' + qqqq],
                  'F' + qqqq + '3': C['1' + qqqq] + 4 * C['3' + qqqq],
                  'F' + qqqq + '3p': C['1p' + qqqq] + 4 * C['3p' + qqqq],
                  'F' + qqqq + '5': C['5' + qqqq] + 64 * C['9' + qqqq],
                  'F' + qqqq + '5p': C['5p' + qqqq] + 64 * C['9p' + qqqq],
                  'F' + qqqq + '7': C['5' + qqqq] + 16 * C['9' + qqqq],
                  'F' + qqqq + '7p': C['5p' + qqqq] + 16 * C['9p' + qqqq],
                  'F' + qqqq + '9': C['7' + qqqq] - 16 * C['9' + qqqq],
                  'F' + qqqq + '9p': C['7p' + qqqq] - 16 * C['9p' + qqqq],
                  }
      # generic case
      if qqqq in ['sbuu', 'sbdd', 'sbuu', 'sbuc', 'sbcu', 'sbcc',
                  'dbuu', 'dbss', 'dbuu', 'dbuc', 'dbcu', 'dbcc',
                  'dsuu', 'dsbb', 'dsuu', 'dsuc', 'dscu', 'dscc',]:
          return {
                  'F' + qqqq + '1': C['1' + qqqq] - C['2' + qqqq] / 6 + 16 * C['3' + qqqq] - (8 * C['4' + qqqq]) / 3,
                  'F' + qqqq + '10': -8 * C['10' + qqqq] + C['8' + qqqq] / 2,
                  'F' + qqqq + '10p': -8 * C['10p' + qqqq] + C['8p' + qqqq] / 2,
                  'F' + qqqq + '1p': C['1p' + qqqq] - C['2p' + qqqq] / 6 + 16 * C['3p' + qqqq] - (8 * C['4p' + qqqq]) / 3,
                  'F' + qqqq + '2': C['2' + qqqq] / 2 + 8 * C['4' + qqqq],
                  'F' + qqqq + '2p': C['2p' + qqqq] / 2 + 8 * C['4p' + qqqq],
                  'F' + qqqq + '3': C['1' + qqqq] - C['2' + qqqq] / 6 + 4 * C['3' + qqqq] - (2 * C['4' + qqqq]) / 3,
                  'F' + qqqq + '3p': C['1p' + qqqq] - C['2p' + qqqq] / 6 + 4 * C['3p' + qqqq] - (2 * C['4p' + qqqq]) / 3,
                  'F' + qqqq + '4': C['2' + qqqq] / 2 + 2 * C['4' + qqqq],
                  'F' + qqqq + '4p': C['2p' + qqqq] / 2 + 2 * C['4p' + qqqq],
                  'F' + qqqq + '5': -((32 * C['10' + qqqq]) / 3) + C['5' + qqqq] - C['6' + qqqq] / 6 + 64 * C['9' + qqqq],
                  'F' + qqqq + '5p': -((32 * C['10p' + qqqq]) / 3) + C['5p' + qqqq] - C['6p' + qqqq] / 6 + 64 * C['9p' + qqqq],
                  'F' + qqqq + '6': 32 * C['10' + qqqq] + C['6' + qqqq] / 2,
                  'F' + qqqq + '6p': 32 * C['10p' + qqqq] + C['6p' + qqqq] / 2,
                  'F' + qqqq + '7': -((8 * C['10' + qqqq]) / 3) + C['5' + qqqq] - C['6' + qqqq] / 6 + 16 * C['9' + qqqq],
                  'F' + qqqq + '7p': -((8 * C['10p' + qqqq]) / 3) + C['5p' + qqqq] - C['6p' + qqqq] / 6 + 16 * C['9p' + qqqq],
                  'F' + qqqq + '8': 8 * C['10' + qqqq] + C['6' + qqqq] / 2,
                  'F' + qqqq + '8p': 8 * C['10p' + qqqq] + C['6p' + qqqq] / 2,
                  'F' + qqqq + '9': (8 * C['10' + qqqq]) / 3 + C['7' + qqqq] - C['8' + qqqq] / 6 - 16 * C['9' + qqqq],
                  'F' + qqqq + '9p': (8 * C['10p' + qqqq]) / 3 + C['7p' + qqqq] - C['8p' + qqqq] / 6 - 16 * C['9p' + qqqq],
                  }
      raise ValueError("Case not implemented: {}".format(qqqq))