---
Function {
 argument: None,
 arguments: FunctionArguments {
  arguments: [
   FunctionArgument {
    identifier: "lib",
    default: None,
   },
  ],
  ellipsis: false,
 },
 definition: Map {
  bindings: [
   KeyValue(
    AttributePath {
     attributes: [
      Raw {
       content: "features",
       position: (5, 3),
      },
     ],
    },
    Map {
     bindings: [
      KeyValue(
       AttributePath {
        attributes: [
         Raw {
          content: "default",
          position: (6, 5),
         },
        ],
       },
       List {
        elements: [],
        position: (6, 22),
       },
      ),
      KeyValue(
       AttributePath {
        attributes: [
         Raw {
          content: "westmere",
          position: (8, 5),
         },
        ],
       },
       List {
        elements: [
         String {
          parts: [
           Raw {
            content: "sse3",
            position: (8, 25),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "ssse3",
            position: (8, 32),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "sse4_1",
            position: (8, 40),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "sse4_2",
            position: (8, 49),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "aes",
            position: (8, 66),
           },
          ],
         },
        ],
        position: (8, 22),
       },
      ),
      KeyValue(
       AttributePath {
        attributes: [
         Raw {
          content: "sandybridge",
          position: (9, 5),
         },
        ],
       },
       List {
        elements: [
         String {
          parts: [
           Raw {
            content: "sse3",
            position: (9, 25),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "ssse3",
            position: (9, 32),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "sse4_1",
            position: (9, 40),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "sse4_2",
            position: (9, 49),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "aes",
            position: (9, 66),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "avx",
            position: (9, 72),
           },
          ],
         },
        ],
        position: (9, 22),
       },
      ),
      KeyValue(
       AttributePath {
        attributes: [
         Raw {
          content: "ivybridge",
          position: (10, 5),
         },
        ],
       },
       List {
        elements: [
         String {
          parts: [
           Raw {
            content: "sse3",
            position: (10, 25),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "ssse3",
            position: (10, 32),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "sse4_1",
            position: (10, 40),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "sse4_2",
            position: (10, 49),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "aes",
            position: (10, 66),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "avx",
            position: (10, 72),
           },
          ],
         },
        ],
        position: (10, 22),
       },
      ),
      KeyValue(
       AttributePath {
        attributes: [
         Raw {
          content: "haswell",
          position: (11, 5),
         },
        ],
       },
       List {
        elements: [
         String {
          parts: [
           Raw {
            content: "sse3",
            position: (11, 25),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "ssse3",
            position: (11, 32),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "sse4_1",
            position: (11, 40),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "sse4_2",
            position: (11, 49),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "aes",
            position: (11, 66),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "avx",
            position: (11, 72),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "avx2",
            position: (11, 78),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "fma",
            position: (11, 94),
           },
          ],
         },
        ],
        position: (11, 22),
       },
      ),
      KeyValue(
       AttributePath {
        attributes: [
         Raw {
          content: "broadwell",
          position: (12, 5),
         },
        ],
       },
       List {
        elements: [
         String {
          parts: [
           Raw {
            content: "sse3",
            position: (12, 25),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "ssse3",
            position: (12, 32),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "sse4_1",
            position: (12, 40),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "sse4_2",
            position: (12, 49),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "aes",
            position: (12, 66),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "avx",
            position: (12, 72),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "avx2",
            position: (12, 78),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "fma",
            position: (12, 94),
           },
          ],
         },
        ],
        position: (12, 22),
       },
      ),
      KeyValue(
       AttributePath {
        attributes: [
         Raw {
          content: "skylake",
          position: (13, 5),
         },
        ],
       },
       List {
        elements: [
         String {
          parts: [
           Raw {
            content: "sse3",
            position: (13, 25),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "ssse3",
            position: (13, 32),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "sse4_1",
            position: (13, 40),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "sse4_2",
            position: (13, 49),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "aes",
            position: (13, 66),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "avx",
            position: (13, 72),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "avx2",
            position: (13, 78),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "fma",
            position: (13, 94),
           },
          ],
         },
        ],
        position: (13, 22),
       },
      ),
      KeyValue(
       AttributePath {
        attributes: [
         Raw {
          content: "skylake-avx512",
          position: (14, 5),
         },
        ],
       },
       List {
        elements: [
         String {
          parts: [
           Raw {
            content: "sse3",
            position: (14, 25),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "ssse3",
            position: (14, 32),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "sse4_1",
            position: (14, 40),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "sse4_2",
            position: (14, 49),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "aes",
            position: (14, 66),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "avx",
            position: (14, 72),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "avx2",
            position: (14, 78),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "avx512",
            position: (14, 85),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "fma",
            position: (14, 94),
           },
          ],
         },
        ],
        position: (14, 22),
       },
      ),
      KeyValue(
       AttributePath {
        attributes: [
         Raw {
          content: "cannonlake",
          position: (15, 5),
         },
        ],
       },
       List {
        elements: [
         String {
          parts: [
           Raw {
            content: "sse3",
            position: (15, 25),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "ssse3",
            position: (15, 32),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "sse4_1",
            position: (15, 40),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "sse4_2",
            position: (15, 49),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "aes",
            position: (15, 66),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "avx",
            position: (15, 72),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "avx2",
            position: (15, 78),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "avx512",
            position: (15, 85),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "fma",
            position: (15, 94),
           },
          ],
         },
        ],
        position: (15, 22),
       },
      ),
      KeyValue(
       AttributePath {
        attributes: [
         Raw {
          content: "icelake-client",
          position: (16, 5),
         },
        ],
       },
       List {
        elements: [
         String {
          parts: [
           Raw {
            content: "sse3",
            position: (16, 25),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "ssse3",
            position: (16, 32),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "sse4_1",
            position: (16, 40),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "sse4_2",
            position: (16, 49),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "aes",
            position: (16, 66),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "avx",
            position: (16, 72),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "avx2",
            position: (16, 78),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "avx512",
            position: (16, 85),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "fma",
            position: (16, 94),
           },
          ],
         },
        ],
        position: (16, 22),
       },
      ),
      KeyValue(
       AttributePath {
        attributes: [
         Raw {
          content: "icelake-server",
          position: (17, 5),
         },
        ],
       },
       List {
        elements: [
         String {
          parts: [
           Raw {
            content: "sse3",
            position: (17, 25),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "ssse3",
            position: (17, 32),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "sse4_1",
            position: (17, 40),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "sse4_2",
            position: (17, 49),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "aes",
            position: (17, 66),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "avx",
            position: (17, 72),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "avx2",
            position: (17, 78),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "avx512",
            position: (17, 85),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "fma",
            position: (17, 94),
           },
          ],
         },
        ],
        position: (17, 22),
       },
      ),
      KeyValue(
       AttributePath {
        attributes: [
         Raw {
          content: "cascadelake",
          position: (18, 5),
         },
        ],
       },
       List {
        elements: [
         String {
          parts: [
           Raw {
            content: "sse3",
            position: (18, 25),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "ssse3",
            position: (18, 32),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "sse4_1",
            position: (18, 40),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "sse4_2",
            position: (18, 49),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "aes",
            position: (18, 66),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "avx",
            position: (18, 72),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "avx2",
            position: (18, 78),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "avx512",
            position: (18, 85),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "fma",
            position: (18, 94),
           },
          ],
         },
        ],
        position: (18, 22),
       },
      ),
      KeyValue(
       AttributePath {
        attributes: [
         Raw {
          content: "cooperlake",
          position: (19, 5),
         },
        ],
       },
       List {
        elements: [
         String {
          parts: [
           Raw {
            content: "sse3",
            position: (19, 25),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "ssse3",
            position: (19, 32),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "sse4_1",
            position: (19, 40),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "sse4_2",
            position: (19, 49),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "aes",
            position: (19, 66),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "avx",
            position: (19, 72),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "avx2",
            position: (19, 78),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "avx512",
            position: (19, 85),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "fma",
            position: (19, 94),
           },
          ],
         },
        ],
        position: (19, 22),
       },
      ),
      KeyValue(
       AttributePath {
        attributes: [
         Raw {
          content: "tigerlake",
          position: (20, 5),
         },
        ],
       },
       List {
        elements: [
         String {
          parts: [
           Raw {
            content: "sse3",
            position: (20, 25),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "ssse3",
            position: (20, 32),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "sse4_1",
            position: (20, 40),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "sse4_2",
            position: (20, 49),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "aes",
            position: (20, 66),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "avx",
            position: (20, 72),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "avx2",
            position: (20, 78),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "avx512",
            position: (20, 85),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "fma",
            position: (20, 94),
           },
          ],
         },
        ],
        position: (20, 22),
       },
      ),
      KeyValue(
       AttributePath {
        attributes: [
         Raw {
          content: "btver1",
          position: (22, 5),
         },
        ],
       },
       List {
        elements: [
         String {
          parts: [
           Raw {
            content: "sse3",
            position: (22, 25),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "ssse3",
            position: (22, 32),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "sse4_1",
            position: (22, 40),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "sse4_2",
            position: (22, 49),
           },
          ],
         },
        ],
        position: (22, 22),
       },
      ),
      KeyValue(
       AttributePath {
        attributes: [
         Raw {
          content: "btver2",
          position: (23, 5),
         },
        ],
       },
       List {
        elements: [
         String {
          parts: [
           Raw {
            content: "sse3",
            position: (23, 25),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "ssse3",
            position: (23, 32),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "sse4_1",
            position: (23, 40),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "sse4_2",
            position: (23, 49),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "aes",
            position: (23, 66),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "avx",
            position: (23, 72),
           },
          ],
         },
        ],
        position: (23, 22),
       },
      ),
      KeyValue(
       AttributePath {
        attributes: [
         Raw {
          content: "bdver1",
          position: (24, 5),
         },
        ],
       },
       List {
        elements: [
         String {
          parts: [
           Raw {
            content: "sse3",
            position: (24, 25),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "ssse3",
            position: (24, 32),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "sse4_1",
            position: (24, 40),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "sse4_2",
            position: (24, 49),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "sse4a",
            position: (24, 58),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "aes",
            position: (24, 66),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "avx",
            position: (24, 72),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "fma",
            position: (24, 94),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "fma4",
            position: (24, 100),
           },
          ],
         },
        ],
        position: (24, 22),
       },
      ),
      KeyValue(
       AttributePath {
        attributes: [
         Raw {
          content: "bdver2",
          position: (25, 5),
         },
        ],
       },
       List {
        elements: [
         String {
          parts: [
           Raw {
            content: "sse3",
            position: (25, 25),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "ssse3",
            position: (25, 32),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "sse4_1",
            position: (25, 40),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "sse4_2",
            position: (25, 49),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "sse4a",
            position: (25, 58),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "aes",
            position: (25, 66),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "avx",
            position: (25, 72),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "fma",
            position: (25, 94),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "fma4",
            position: (25, 100),
           },
          ],
         },
        ],
        position: (25, 22),
       },
      ),
      KeyValue(
       AttributePath {
        attributes: [
         Raw {
          content: "bdver3",
          position: (26, 5),
         },
        ],
       },
       List {
        elements: [
         String {
          parts: [
           Raw {
            content: "sse3",
            position: (26, 25),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "ssse3",
            position: (26, 32),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "sse4_1",
            position: (26, 40),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "sse4_2",
            position: (26, 49),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "sse4a",
            position: (26, 58),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "aes",
            position: (26, 66),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "avx",
            position: (26, 72),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "fma",
            position: (26, 94),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "fma4",
            position: (26, 100),
           },
          ],
         },
        ],
        position: (26, 22),
       },
      ),
      KeyValue(
       AttributePath {
        attributes: [
         Raw {
          content: "bdver4",
          position: (27, 5),
         },
        ],
       },
       List {
        elements: [
         String {
          parts: [
           Raw {
            content: "sse3",
            position: (27, 25),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "ssse3",
            position: (27, 32),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "sse4_1",
            position: (27, 40),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "sse4_2",
            position: (27, 49),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "sse4a",
            position: (27, 58),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "aes",
            position: (27, 66),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "avx",
            position: (27, 72),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "avx2",
            position: (27, 78),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "fma",
            position: (27, 94),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "fma4",
            position: (27, 100),
           },
          ],
         },
        ],
        position: (27, 22),
       },
      ),
      KeyValue(
       AttributePath {
        attributes: [
         Raw {
          content: "znver1",
          position: (28, 5),
         },
        ],
       },
       List {
        elements: [
         String {
          parts: [
           Raw {
            content: "sse3",
            position: (28, 25),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "ssse3",
            position: (28, 32),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "sse4_1",
            position: (28, 40),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "sse4_2",
            position: (28, 49),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "sse4a",
            position: (28, 58),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "aes",
            position: (28, 66),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "avx",
            position: (28, 72),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "avx2",
            position: (28, 78),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "fma",
            position: (28, 94),
           },
          ],
         },
        ],
        position: (28, 22),
       },
      ),
      KeyValue(
       AttributePath {
        attributes: [
         Raw {
          content: "znver2",
          position: (29, 5),
         },
        ],
       },
       List {
        elements: [
         String {
          parts: [
           Raw {
            content: "sse3",
            position: (29, 25),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "ssse3",
            position: (29, 32),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "sse4_1",
            position: (29, 40),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "sse4_2",
            position: (29, 49),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "sse4a",
            position: (29, 58),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "aes",
            position: (29, 66),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "avx",
            position: (29, 72),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "avx2",
            position: (29, 78),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "fma",
            position: (29, 94),
           },
          ],
         },
        ],
        position: (29, 22),
       },
      ),
      KeyValue(
       AttributePath {
        attributes: [
         Raw {
          content: "znver3",
          position: (30, 5),
         },
        ],
       },
       List {
        elements: [
         String {
          parts: [
           Raw {
            content: "sse3",
            position: (30, 25),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "ssse3",
            position: (30, 32),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "sse4_1",
            position: (30, 40),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "sse4_2",
            position: (30, 49),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "sse4a",
            position: (30, 58),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "aes",
            position: (30, 66),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "avx",
            position: (30, 72),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "avx2",
            position: (30, 78),
           },
          ],
         },
         String {
          parts: [
           Raw {
            content: "fma",
            position: (30, 94),
           },
          ],
         },
        ],
        position: (30, 22),
       },
      ),
      KeyValue(
       AttributePath {
        attributes: [
         Raw {
          content: "armv5te",
          position: (32, 5),
         },
        ],
       },
       List {
        elements: [],
        position: (32, 22),
       },
      ),
      KeyValue(
       AttributePath {
        attributes: [
         Raw {
          content: "armv6",
          position: (33, 5),
         },
        ],
       },
       List {
        elements: [],
        position: (33, 22),
       },
      ),
      KeyValue(
       AttributePath {
        attributes: [
         Raw {
          content: "armv7-a",
          position: (34, 5),
         },
        ],
       },
       List {
        elements: [],
        position: (34, 22),
       },
      ),
      KeyValue(
       AttributePath {
        attributes: [
         Raw {
          content: "armv8-a",
          position: (35, 5),
         },
        ],
       },
       List {
        elements: [],
        position: (35, 22),
       },
      ),
      KeyValue(
       AttributePath {
        attributes: [
         Raw {
          content: "mips32",
          position: (36, 5),
         },
        ],
       },
       List {
        elements: [],
        position: (36, 22),
       },
      ),
      KeyValue(
       AttributePath {
        attributes: [
         Raw {
          content: "loongson2f",
          position: (37, 5),
         },
        ],
       },
       List {
        elements: [],
        position: (37, 22),
       },
      ),
     ],
     recursive: false,
     position: (5, 14),
    },
   ),
   KeyValue(
    AttributePath {
     attributes: [
      Raw {
       content: "inferiors",
       position: (41, 3),
      },
     ],
    },
    Map {
     bindings: [
      KeyValue(
       AttributePath {
        attributes: [
         Raw {
          content: "default",
          position: (43, 5),
         },
        ],
       },
       List {
        elements: [],
        position: (43, 22),
       },
      ),
      KeyValue(
       AttributePath {
        attributes: [
         Raw {
          content: "westmere",
          position: (44, 5),
         },
        ],
       },
       List {
        elements: [],
        position: (44, 22),
       },
      ),
      KeyValue(
       AttributePath {
        attributes: [
         Raw {
          content: "sandybridge",
          position: (45, 5),
         },
        ],
       },
       BinaryOperation {
        operator: Concatenation,
        operands: [
         List {
          elements: [
           String {
            parts: [
             Raw {
              content: "westmere",
              position: (45, 25),
             },
            ],
           },
          ],
          position: (45, 22),
         },
         PropertyAccess {
          expression: Variable {
           identifier: "inferiors",
           position: (45, 43),
          },
          attribute_path: AttributePath {
           attributes: [
            Raw {
             content: "westmere",
             position: (45, 53),
            },
           ],
          },
          default: None,
         },
        ],
        position: (45, 40),
       },
      ),
      KeyValue(
       AttributePath {
        attributes: [
         Raw {
          content: "ivybridge",
          position: (46, 5),
         },
        ],
       },
       BinaryOperation {
        operator: Concatenation,
        operands: [
         List {
          elements: [
           String {
            parts: [
             Raw {
              content: "sandybridge",
              position: (46, 25),
             },
            ],
           },
          ],
          position: (46, 22),
         },
         PropertyAccess {
          expression: Variable {
           identifier: "inferiors",
           position: (46, 43),
          },
          attribute_path: AttributePath {
           attributes: [
            Raw {
             content: "sandybridge",
             position: (46, 53),
            },
           ],
          },
          default: None,
         },
        ],
        position: (46, 40),
       },
      ),
      KeyValue(
       AttributePath {
        attributes: [
         Raw {
          content: "haswell",
          position: (47, 5),
         },
        ],
       },
       BinaryOperation {
        operator: Concatenation,
        operands: [
         List {
          elements: [
           String {
            parts: [
             Raw {
              content: "ivybridge",
              position: (47, 25),
             },
            ],
           },
          ],
          position: (47, 22),
         },
         PropertyAccess {
          expression: Variable {
           identifier: "inferiors",
           position: (47, 43),
          },
          attribute_path: AttributePath {
           attributes: [
            Raw {
             content: "ivybridge",
             position: (47, 53),
            },
           ],
          },
          default: None,
         },
        ],
        position: (47, 40),
       },
      ),
      KeyValue(
       AttributePath {
        attributes: [
         Raw {
          content: "broadwell",
          position: (48, 5),
         },
        ],
       },
       BinaryOperation {
        operator: Concatenation,
        operands: [
         List {
          elements: [
           String {
            parts: [
             Raw {
              content: "haswell",
              position: (48, 25),
             },
            ],
           },
          ],
          position: (48, 22),
         },
         PropertyAccess {
          expression: Variable {
           identifier: "inferiors",
           position: (48, 43),
          },
          attribute_path: AttributePath {
           attributes: [
            Raw {
             content: "haswell",
             position: (48, 53),
            },
           ],
          },
          default: None,
         },
        ],
        position: (48, 40),
       },
      ),
      KeyValue(
       AttributePath {
        attributes: [
         Raw {
          content: "skylake",
          position: (49, 5),
         },
        ],
       },
       BinaryOperation {
        operator: Concatenation,
        operands: [
         List {
          elements: [
           String {
            parts: [
             Raw {
              content: "broadwell",
              position: (49, 25),
             },
            ],
           },
          ],
          position: (49, 22),
         },
         PropertyAccess {
          expression: Variable {
           identifier: "inferiors",
           position: (49, 43),
          },
          attribute_path: AttributePath {
           attributes: [
            Raw {
             content: "broadwell",
             position: (49, 53),
            },
           ],
          },
          default: None,
         },
        ],
        position: (49, 40),
       },
      ),
      KeyValue(
       AttributePath {
        attributes: [
         Raw {
          content: "skylake-avx512",
          position: (50, 5),
         },
        ],
       },
       BinaryOperation {
        operator: Concatenation,
        operands: [
         List {
          elements: [
           String {
            parts: [
             Raw {
              content: "skylake",
              position: (50, 25),
             },
            ],
           },
          ],
          position: (50, 22),
         },
         PropertyAccess {
          expression: Variable {
           identifier: "inferiors",
           position: (50, 43),
          },
          attribute_path: AttributePath {
           attributes: [
            Raw {
             content: "skylake",
             position: (50, 53),
            },
           ],
          },
          default: None,
         },
        ],
        position: (50, 40),
       },
      ),
      KeyValue(
       AttributePath {
        attributes: [
         Raw {
          content: "btver1",
          position: (54, 5),
         },
        ],
       },
       List {
        elements: [],
        position: (54, 22),
       },
      ),
      KeyValue(
       AttributePath {
        attributes: [
         Raw {
          content: "btver2",
          position: (55, 5),
         },
        ],
       },
       List {
        elements: [],
        position: (55, 22),
       },
      ),
      KeyValue(
       AttributePath {
        attributes: [
         Raw {
          content: "bdver1",
          position: (56, 5),
         },
        ],
       },
       List {
        elements: [],
        position: (56, 22),
       },
      ),
      KeyValue(
       AttributePath {
        attributes: [
         Raw {
          content: "bdver2",
          position: (57, 5),
         },
        ],
       },
       List {
        elements: [],
        position: (57, 22),
       },
      ),
      KeyValue(
       AttributePath {
        attributes: [
         Raw {
          content: "bdver3",
          position: (58, 5),
         },
        ],
       },
       List {
        elements: [],
        position: (58, 22),
       },
      ),
      KeyValue(
       AttributePath {
        attributes: [
         Raw {
          content: "bdver4",
          position: (59, 5),
         },
        ],
       },
       List {
        elements: [],
        position: (59, 22),
       },
      ),
      KeyValue(
       AttributePath {
        attributes: [
         Raw {
          content: "znver1",
          position: (79, 5),
         },
        ],
       },
       BinaryOperation {
        operator: Concatenation,
        operands: [
         List {
          elements: [
           String {
            parts: [
             Raw {
              content: "skylake",
              position: (79, 25),
             },
            ],
           },
          ],
          position: (79, 22),
         },
         PropertyAccess {
          expression: Variable {
           identifier: "inferiors",
           position: (79, 39),
          },
          attribute_path: AttributePath {
           attributes: [
            Raw {
             content: "skylake",
             position: (79, 49),
            },
           ],
          },
          default: None,
         },
        ],
        position: (79, 36),
       },
      ),
      KeyValue(
       AttributePath {
        attributes: [
         Raw {
          content: "znver2",
          position: (80, 5),
         },
        ],
       },
       BinaryOperation {
        operator: Concatenation,
        operands: [
         List {
          elements: [
           String {
            parts: [
             Raw {
              content: "znver1",
              position: (80, 25),
             },
            ],
           },
          ],
          position: (80, 22),
         },
         PropertyAccess {
          expression: Variable {
           identifier: "inferiors",
           position: (80, 39),
          },
          attribute_path: AttributePath {
           attributes: [
            Raw {
             content: "znver1",
             position: (80, 49),
            },
           ],
          },
          default: None,
         },
        ],
        position: (80, 36),
       },
      ),
      KeyValue(
       AttributePath {
        attributes: [
         Raw {
          content: "znver3",
          position: (81, 5),
         },
        ],
       },
       BinaryOperation {
        operator: Concatenation,
        operands: [
         List {
          elements: [
           String {
            parts: [
             Raw {
              content: "znver2",
              position: (81, 25),
             },
            ],
           },
          ],
          position: (81, 22),
         },
         PropertyAccess {
          expression: Variable {
           identifier: "inferiors",
           position: (81, 39),
          },
          attribute_path: AttributePath {
           attributes: [
            Raw {
             content: "znver2",
             position: (81, 49),
            },
           ],
          },
          default: None,
         },
        ],
        position: (81, 36),
       },
      ),
      KeyValue(
       AttributePath {
        attributes: [
         Raw {
          content: "armv5te",
          position: (84, 5),
         },
        ],
       },
       List {
        elements: [],
        position: (84, 22),
       },
      ),
      KeyValue(
       AttributePath {
        attributes: [
         Raw {
          content: "armv6",
          position: (85, 5),
         },
        ],
       },
       List {
        elements: [],
        position: (85, 22),
       },
      ),
      KeyValue(
       AttributePath {
        attributes: [
         Raw {
          content: "armv7-a",
          position: (86, 5),
         },
        ],
       },
       List {
        elements: [],
        position: (86, 22),
       },
      ),
      KeyValue(
       AttributePath {
        attributes: [
         Raw {
          content: "armv8-a",
          position: (87, 5),
         },
        ],
       },
       List {
        elements: [],
        position: (87, 22),
       },
      ),
      KeyValue(
       AttributePath {
        attributes: [
         Raw {
          content: "mips32",
          position: (88, 5),
         },
        ],
       },
       List {
        elements: [],
        position: (88, 22),
       },
      ),
      KeyValue(
       AttributePath {
        attributes: [
         Raw {
          content: "loongson2f",
          position: (89, 5),
         },
        ],
       },
       List {
        elements: [],
        position: (89, 22),
       },
      ),
     ],
     recursive: false,
     position: (41, 15),
    },
   ),
   KeyValue(
    AttributePath {
     attributes: [
      Raw {
       content: "predicates",
       position: (92, 3),
      },
     ],
    },
    LetIn {
     bindings: [
      KeyValue(
       AttributePath {
        attributes: [
         Raw {
          content: "featureSupport",
          position: (93, 5),
         },
        ],
       },
       Function {
        argument: Some(
         "feature",
        ),
        arguments: FunctionArguments {
         arguments: [],
         ellipsis: false,
        },
        definition: Function {
         argument: Some(
          "x",
         ),
         arguments: FunctionArguments {
          arguments: [],
          ellipsis: false,
         },
         definition: FunctionApplication {
          function: PropertyAccess {
           expression: Variable {
            identifier: "builtins",
            position: (93, 34),
           },
           attribute_path: AttributePath {
            attributes: [
             Raw {
              content: "elem",
              position: (93, 43),
             },
            ],
           },
           default: None,
          },
          arguments: [
           Variable {
            identifier: "feature",
            position: (93, 48),
           },
           PropertyAccess {
            expression: Variable {
             identifier: "features",
             position: (93, 56),
            },
            attribute_path: AttributePath {
             attributes: [
              Expression {
               expression: Variable {
                identifier: "x",
                position: (93, 67),
               },
              },
             ],
            },
            default: Some(
             List {
              elements: [],
              position: (93, 73),
             },
            ),
           },
          ],
         },
         position: (93, 31),
        },
        position: (93, 22),
       },
      ),
     ],
     target: Map {
      bindings: [
       KeyValue(
        AttributePath {
         attributes: [
          Raw {
           content: "sse3Support",
           position: (95, 5),
          },
         ],
        },
        FunctionApplication {
         function: Variable {
          identifier: "featureSupport",
          position: (95, 22),
         },
         arguments: [
          String {
           parts: [
            Raw {
             content: "sse3",
             position: (95, 38),
            },
           ],
          },
         ],
        },
       ),
       KeyValue(
        AttributePath {
         attributes: [
          Raw {
           content: "ssse3Support",
           position: (96, 5),
          },
         ],
        },
        FunctionApplication {
         function: Variable {
          identifier: "featureSupport",
          position: (96, 22),
         },
         arguments: [
          String {
           parts: [
            Raw {
             content: "ssse3",
             position: (96, 38),
            },
           ],
          },
         ],
        },
       ),
       KeyValue(
        AttributePath {
         attributes: [
          Raw {
           content: "sse4_1Support",
           position: (97, 5),
          },
         ],
        },
        FunctionApplication {
         function: Variable {
          identifier: "featureSupport",
          position: (97, 22),
         },
         arguments: [
          String {
           parts: [
            Raw {
             content: "sse4_1",
             position: (97, 38),
            },
           ],
          },
         ],
        },
       ),
       KeyValue(
        AttributePath {
         attributes: [
          Raw {
           content: "sse4_2Support",
           position: (98, 5),
          },
         ],
        },
        FunctionApplication {
         function: Variable {
          identifier: "featureSupport",
          position: (98, 22),
         },
         arguments: [
          String {
           parts: [
            Raw {
             content: "sse4_2",
             position: (98, 38),
            },
           ],
          },
         ],
        },
       ),
       KeyValue(
        AttributePath {
         attributes: [
          Raw {
           content: "sse4_aSupport",
           position: (99, 5),
          },
         ],
        },
        FunctionApplication {
         function: Variable {
          identifier: "featureSupport",
          position: (99, 22),
         },
         arguments: [
          String {
           parts: [
            Raw {
             content: "sse4a",
             position: (99, 38),
            },
           ],
          },
         ],
        },
       ),
       KeyValue(
        AttributePath {
         attributes: [
          Raw {
           content: "avxSupport",
           position: (100, 5),
          },
         ],
        },
        FunctionApplication {
         function: Variable {
          identifier: "featureSupport",
          position: (100, 22),
         },
         arguments: [
          String {
           parts: [
            Raw {
             content: "avx",
             position: (100, 38),
            },
           ],
          },
         ],
        },
       ),
       KeyValue(
        AttributePath {
         attributes: [
          Raw {
           content: "avx2Support",
           position: (101, 5),
          },
         ],
        },
        FunctionApplication {
         function: Variable {
          identifier: "featureSupport",
          position: (101, 22),
         },
         arguments: [
          String {
           parts: [
            Raw {
             content: "avx2",
             position: (101, 38),
            },
           ],
          },
         ],
        },
       ),
       KeyValue(
        AttributePath {
         attributes: [
          Raw {
           content: "avx512Support",
           position: (102, 5),
          },
         ],
        },
        FunctionApplication {
         function: Variable {
          identifier: "featureSupport",
          position: (102, 22),
         },
         arguments: [
          String {
           parts: [
            Raw {
             content: "avx512",
             position: (102, 38),
            },
           ],
          },
         ],
        },
       ),
       KeyValue(
        AttributePath {
         attributes: [
          Raw {
           content: "aesSupport",
           position: (103, 5),
          },
         ],
        },
        FunctionApplication {
         function: Variable {
          identifier: "featureSupport",
          position: (103, 22),
         },
         arguments: [
          String {
           parts: [
            Raw {
             content: "aes",
             position: (103, 38),
            },
           ],
          },
         ],
        },
       ),
       KeyValue(
        AttributePath {
         attributes: [
          Raw {
           content: "fmaSupport",
           position: (104, 5),
          },
         ],
        },
        FunctionApplication {
         function: Variable {
          identifier: "featureSupport",
          position: (104, 22),
         },
         arguments: [
          String {
           parts: [
            Raw {
             content: "fma",
             position: (104, 38),
            },
           ],
          },
         ],
        },
       ),
       KeyValue(
        AttributePath {
         attributes: [
          Raw {
           content: "fma4Support",
           position: (105, 5),
          },
         ],
        },
        FunctionApplication {
         function: Variable {
          identifier: "featureSupport",
          position: (105, 22),
         },
         arguments: [
          String {
           parts: [
            Raw {
             content: "fma4",
             position: (105, 38),
            },
           ],
          },
         ],
        },
       ),
      ],
      recursive: false,
      position: (94, 6),
     },
     position: (92, 16),
    },
   ),
  ],
  recursive: true,
  position: (3, 1),
 },
 position: (1, 1),
}