5241f43e创建于 2024年7月31日历史提交
#define SIMDE_TEST_ARM_SVE_INSN qadd

#include "test-sve.h"
#include "../../../simde/arm/sve/qadd.h"

#include "../../../simde/arm/sve/cmplt.h"

static int
test_simde_svqadd_s8 (SIMDE_MUNIT_TEST_ARGS) {
#if 1
  static const int8_t a[] =
    { -INT8_C(  48),  INT8_C(  27), -INT8_C(   1), -INT8_C(  73), -INT8_C(  50), -INT8_C( 124), -INT8_C( 101), -INT8_C(  86),
       INT8_C(   0),  INT8_C( 121), -INT8_C( 101), -INT8_C( 110), -INT8_C(  87), -INT8_C( 125), -INT8_C(  15), -INT8_C( 125),
      -INT8_C(  82),  INT8_C(  41),  INT8_C(  54),  INT8_C(  15),  INT8_C(  91), -INT8_C(  55), -INT8_C(  19), -INT8_C(  16),
      -INT8_C(  99), -INT8_C( 118), -INT8_C(  19),  INT8_C(   4),  INT8_C(  68), -INT8_C(  95), -INT8_C(  96),  INT8_C(  21),
      -INT8_C(  67), -INT8_C(  97), -INT8_C(  52), -INT8_C( 117),  INT8_C(  35),  INT8_C( 103),  INT8_C(  54),  INT8_C(  35),
      -INT8_C(  32), -INT8_C(  47), -INT8_C(  75), -INT8_C( 119),  INT8_C(  84), -INT8_C(  89),  INT8_C(  13),  INT8_C(   2),
      -INT8_C(  48),  INT8_C(  67),  INT8_C(  17),  INT8_C(  43),  INT8_C(  12), -INT8_C(   2),  INT8_C(  27), -INT8_C(  86),
      -INT8_C( 119),  INT8_C(   8), -INT8_C(  82), -INT8_C(  51), -INT8_C(  86),  INT8_C(  78), -INT8_C(  30),  INT8_C( 103),
      -INT8_C(  19), -INT8_C(  82), -INT8_C(  14),  INT8_C(  16),  INT8_C(  21),  INT8_C(  40),  INT8_C(  51), -INT8_C(  11),
      -INT8_C(   7), -INT8_C(  23),      INT8_MAX,  INT8_C(  77), -INT8_C( 112), -INT8_C( 116),  INT8_C(  79),  INT8_C(  96),
      -INT8_C(  49),  INT8_C(  97), -INT8_C( 117), -INT8_C(  36),  INT8_C(  95), -INT8_C(  89), -INT8_C( 122), -INT8_C(  24),
      -INT8_C(  81),  INT8_C(  52), -INT8_C(  74),  INT8_C(  89), -INT8_C( 125), -INT8_C( 104), -INT8_C(  64),  INT8_C( 112),
       INT8_C(  71), -INT8_C(  77), -INT8_C( 127),  INT8_C(  92), -INT8_C(  37), -INT8_C(  76),  INT8_C(  82), -INT8_C(  43),
      -INT8_C(  99), -INT8_C(  47),  INT8_C(  34),  INT8_C(  45),  INT8_C(  93),  INT8_C( 114), -INT8_C( 115),  INT8_C(  44),
      -INT8_C(  45),  INT8_C(  25),  INT8_C(   8),  INT8_C(  50), -INT8_C(  64), -INT8_C( 114),  INT8_C(  27),  INT8_C( 111),
      -INT8_C(  61), -INT8_C(  47), -INT8_C(  55),  INT8_C(  70),  INT8_C( 105), -INT8_C( 119), -INT8_C(  74), -INT8_C(  80),
       INT8_C(  60),  INT8_C(  55),  INT8_C(  13),  INT8_C(  24), -INT8_C(  20),  INT8_C(  95), -INT8_C(  19), -INT8_C( 119),
       INT8_C(  48),  INT8_C(  15), -INT8_C(  73), -INT8_C( 115), -INT8_C( 127),  INT8_C(  68), -INT8_C(  71),  INT8_C(  84),
       INT8_C(  93), -INT8_C(  62), -INT8_C( 121),  INT8_C(  29),  INT8_C(  80), -INT8_C(  94), -INT8_C( 115),  INT8_C(  19),
       INT8_C( 115),  INT8_C(  86),  INT8_C(  89), -INT8_C(  36), -INT8_C(  33),  INT8_C(  16), -INT8_C( 115),  INT8_C(  28),
       INT8_C(  71), -INT8_C( 102),  INT8_C(  52),  INT8_C(  51), -INT8_C(   7),  INT8_C(  33), -INT8_C(  67),  INT8_C(  41),
       INT8_C(  48),  INT8_C( 116), -INT8_C(  74), -INT8_C(  78), -INT8_C(  72),  INT8_C( 111),  INT8_C(   6),  INT8_C(  22),
       INT8_C(  49), -INT8_C( 115),  INT8_C(  51), -INT8_C( 126),  INT8_C(  47), -INT8_C(  64), -INT8_C( 107), -INT8_C(  94),
       INT8_C(  22), -INT8_C(  17),      INT8_MAX, -INT8_C(  10), -INT8_C(   1),  INT8_C(  12),  INT8_C(  18),  INT8_C(  70),
      -INT8_C(  90),  INT8_C(  70),  INT8_C( 122), -INT8_C(  97),  INT8_C( 103),  INT8_C(  55), -INT8_C(  56), -INT8_C( 105),
      -INT8_C(  85),  INT8_C( 126),  INT8_C(  73),  INT8_C(  99), -INT8_C(  19),  INT8_C(  80),  INT8_C( 121),  INT8_C(  31),
      -INT8_C(  35), -INT8_C(  83), -INT8_C(  95),  INT8_C(  13),  INT8_C( 109),  INT8_C(  54), -INT8_C(  81), -INT8_C( 124),
       INT8_C(  37),  INT8_C(  46),  INT8_C( 122),  INT8_C(  36),  INT8_C(  58), -INT8_C( 116),  INT8_C( 107), -INT8_C(  32),
      -INT8_C(  46), -INT8_C(  27),      INT8_MAX,  INT8_C(  57),  INT8_C(  28),  INT8_C(  71), -INT8_C(  48), -INT8_C(  57),
      -INT8_C(  59),  INT8_C(  26),  INT8_C(  42), -INT8_C(  77),  INT8_C( 106), -INT8_C(  92), -INT8_C(  46),  INT8_C(  71),
       INT8_C(  81),  INT8_C( 115),  INT8_C(  84), -INT8_C(  66), -INT8_C(  87),  INT8_C(   4),  INT8_C(  66), -INT8_C(  49),
       INT8_C(  50), -INT8_C(  68), -INT8_C(  13),  INT8_C( 109),  INT8_C(  72),  INT8_C(  94),  INT8_C(  77),  INT8_C(  26),
       INT8_C(  67), -INT8_C(  51),  INT8_C(  83),  INT8_C(  95),  INT8_C(  20),  INT8_C(  36),  INT8_C(  38), -INT8_C(  38),
       INT8_C(  62),  INT8_C(  81), -INT8_C( 115), -INT8_C(  88), -INT8_C(  11),  INT8_C(  95), -INT8_C(  17),  INT8_C(  70),
      -INT8_C(  46),  INT8_C(  68),  INT8_C(   4),  INT8_C( 123),  INT8_C(  72),  INT8_C(  71),  INT8_C(  74),  INT8_C( 122),
       INT8_C(   3),  INT8_C(  62), -INT8_C(  25),  INT8_C(  76), -INT8_C( 100),  INT8_C(  53),  INT8_C( 102), -INT8_C(  32),
       INT8_C(   2), -INT8_C(  70),  INT8_C(  63),  INT8_C(  22), -INT8_C(  34),  INT8_C( 102), -INT8_C(  16),  INT8_C(  28),
      -INT8_C(  73),  INT8_C( 125), -INT8_C(  60), -INT8_C(  84), -INT8_C(  36), -INT8_C(  77), -INT8_C(  14), -INT8_C(  82),
      -INT8_C(   9), -INT8_C(  10),  INT8_C(  42),  INT8_C(  63),  INT8_C(  61),  INT8_C( 116), -INT8_C(  70),  INT8_C(  65),
      -INT8_C(  78), -INT8_C(  95), -INT8_C( 115),  INT8_C(  79), -INT8_C(  42), -INT8_C(  13),  INT8_C(  47), -INT8_C(  40),
      -INT8_C(  83),  INT8_C( 110), -INT8_C(  17), -INT8_C( 117), -INT8_C(  44), -INT8_C(  33), -INT8_C(  89), -INT8_C( 117),
       INT8_C(  93),  INT8_C( 107),  INT8_C(  55),  INT8_C(  57),  INT8_C(  31),  INT8_C(  41), -INT8_C(  24),  INT8_C(  22),
       INT8_C(  32),  INT8_C(  18),  INT8_C(  86),  INT8_C(  93), -INT8_C( 122),  INT8_C(  16), -INT8_C(  98),  INT8_C(  57),
      -INT8_C(  79),  INT8_C(  43), -INT8_C( 120), -INT8_C( 120),  INT8_C(  31), -INT8_C(  73),  INT8_C(  96), -INT8_C(  52),
       INT8_C(  37),  INT8_C(  79),  INT8_C(  88), -INT8_C(   6),  INT8_C(  47), -INT8_C(   1), -INT8_C( 123), -INT8_C( 116),
       INT8_C( 107), -INT8_C(  67), -INT8_C(  59), -INT8_C( 118), -INT8_C(  26), -INT8_C(  83), -INT8_C(  96),  INT8_C(   6),
      -INT8_C(  65), -INT8_C(  10),  INT8_C( 100),  INT8_C(  70),  INT8_C(   6),  INT8_C(   2),      INT8_MAX, -INT8_C(  72),
       INT8_C(  46),  INT8_C(   7),  INT8_C(  64),  INT8_C(  77), -INT8_C(  66), -INT8_C(  96),  INT8_C(  25), -INT8_C(  29),
      -INT8_C(  16),  INT8_C( 113), -INT8_C(  35),  INT8_C(  31),  INT8_C( 113),  INT8_C(  99), -INT8_C(  85), -INT8_C(  36),
       INT8_C(  32),  INT8_C( 112),  INT8_C( 102),  INT8_C(   6),  INT8_C(  30),  INT8_C(   6),  INT8_C(  13), -INT8_C(  35),
      -INT8_C(   3),  INT8_C( 113),  INT8_C(  35),  INT8_C(   3),  INT8_C( 115), -INT8_C(  94), -INT8_C(  69), -INT8_C(  95),
      -INT8_C(  87), -INT8_C(   5), -INT8_C(  18),  INT8_C( 103), -INT8_C( 100),  INT8_C(   8),  INT8_C(  75), -INT8_C( 116),
       INT8_C( 121),  INT8_C(  40), -INT8_C(  85), -INT8_C(  22), -INT8_C( 117),  INT8_C(  86), -INT8_C(  58), -INT8_C(  85),
      -INT8_C(  58),  INT8_C(  44), -INT8_C(  78), -INT8_C(  28),  INT8_C(  51), -INT8_C(  65), -INT8_C(  62),  INT8_C(  48),
       INT8_C(  48), -INT8_C(  27),  INT8_C(  51), -INT8_C(  93), -INT8_C( 120), -INT8_C(  17),  INT8_C(  69),  INT8_C(  49),
      -INT8_C(  22),  INT8_C(  51), -INT8_C( 103), -INT8_C( 122),  INT8_C(  59), -INT8_C(  28),  INT8_C(  18), -INT8_C(  75),
       INT8_C(  12), -INT8_C(  67), -INT8_C(  97), -INT8_C( 104),  INT8_C(  19),  INT8_C( 102),  INT8_C(  67), -INT8_C(  38),
      -INT8_C( 110), -INT8_C(  11), -INT8_C(  66), -INT8_C(  59), -INT8_C(  76),      INT8_MIN, -INT8_C(  11), -INT8_C(  28),
       INT8_C( 102),  INT8_C(  41), -INT8_C( 120), -INT8_C(  18),  INT8_C(  24), -INT8_C(  51),  INT8_C(  31),  INT8_C(   2),
       INT8_C(   0), -INT8_C(  72), -INT8_C( 119),  INT8_C(  60), -INT8_C( 100), -INT8_C( 101), -INT8_C(  15), -INT8_C(  87),
       INT8_C(  89), -INT8_C( 112),  INT8_C(  65),  INT8_C( 108), -INT8_C(  10), -INT8_C( 124),  INT8_C(  70), -INT8_C( 119),
       INT8_C( 122),  INT8_C(   5),  INT8_C(  78),  INT8_C(  46), -INT8_C( 123),  INT8_C(  68),  INT8_C(  19), -INT8_C(  21),
       INT8_C( 109), -INT8_C( 101), -INT8_C(  39), -INT8_C( 123),  INT8_C( 104), -INT8_C(   7), -INT8_C( 121),  INT8_C( 104),
      -INT8_C(  79),  INT8_C(  16), -INT8_C(  92),  INT8_C(  78), -INT8_C(  84), -INT8_C( 107), -INT8_C(   9),  INT8_C(   5),
       INT8_C(  38),  INT8_C(  56),  INT8_C( 113),  INT8_C(  28), -INT8_C(  68), -INT8_C(  72), -INT8_C(  91),  INT8_C(  54),
      -INT8_C(  67), -INT8_C(  12),  INT8_C( 101),  INT8_C(  66),  INT8_C(  56),  INT8_C( 120),  INT8_C(  46), -INT8_C(  91),
       INT8_C(  19),  INT8_C(   7),  INT8_C(  42),  INT8_C( 123),  INT8_C(   0), -INT8_C(  79), -INT8_C(  29), -INT8_C(  78),
      -INT8_C(  62), -INT8_C( 120),  INT8_C(   0),  INT8_C( 110),  INT8_C(  29), -INT8_C(   9),  INT8_C( 115),  INT8_C(  67),
       INT8_C(  47), -INT8_C(  28),  INT8_C(  96), -INT8_C(  21), -INT8_C( 100),  INT8_C(   5),  INT8_C(  34),  INT8_C(  89),
      -INT8_C(   7), -INT8_C( 121), -INT8_C( 100),  INT8_C(  49), -INT8_C(   1), -INT8_C(  54), -INT8_C(  42),  INT8_C(  18),
      -INT8_C(  47),  INT8_C(   0), -INT8_C( 115), -INT8_C(  46), -INT8_C(  78),  INT8_C( 112), -INT8_C( 124),  INT8_C( 116),
      -INT8_C(   8), -INT8_C( 124), -INT8_C(  30),  INT8_C(  22),  INT8_C( 123),  INT8_C(  85),  INT8_C(  89), -INT8_C(  86),
       INT8_C(  57), -INT8_C(  71), -INT8_C( 107), -INT8_C(  42), -INT8_C(  65), -INT8_C(  73),  INT8_C(  47), -INT8_C(  72),
       INT8_C(  62), -INT8_C(  53), -INT8_C(  22),  INT8_C(  61), -INT8_C( 107), -INT8_C(  64),  INT8_C(  79),  INT8_C( 103),
      -INT8_C(  63), -INT8_C(  36),  INT8_C(  57),  INT8_C( 115),  INT8_C(  77), -INT8_C(  67), -INT8_C(  25),  INT8_C(  69),
       INT8_C(  65), -INT8_C(  55),  INT8_C(  91), -INT8_C(  68),  INT8_C(  30), -INT8_C(  75),  INT8_C( 102),  INT8_C(  87),
       INT8_C( 110), -INT8_C(   5),  INT8_C(  45),  INT8_C(  45), -INT8_C(  77),  INT8_C(  93), -INT8_C(  26) };
  static const int8_t b[] =
    {  INT8_C(  64),  INT8_C(  33), -INT8_C(   2), -INT8_C(  46),  INT8_C(   2), -INT8_C(  32),  INT8_C(  23), -INT8_C( 120),
       INT8_C( 102),  INT8_C(  55),  INT8_C(  17),  INT8_C(  88),  INT8_C( 101),  INT8_C(  30),  INT8_C(  18),  INT8_C(  94),
       INT8_C(  99),  INT8_C(  39),  INT8_C(  47), -INT8_C(  40), -INT8_C( 125),  INT8_C(  91),  INT8_C(   4),  INT8_C(  67),
      -INT8_C( 115),  INT8_C(  99),  INT8_C(  36),  INT8_C(  74), -INT8_C(  76), -INT8_C( 112),  INT8_C(  36), -INT8_C(  12),
      -INT8_C(  79),  INT8_C(  34), -INT8_C(  58), -INT8_C(  76),  INT8_C(   2), -INT8_C(  34),  INT8_C(  60),  INT8_C( 105),
       INT8_C(  21),  INT8_C(  77), -INT8_C(  63),  INT8_C( 123),  INT8_C( 108), -INT8_C(  45), -INT8_C(  39), -INT8_C(  49),
      -INT8_C(   5),  INT8_C(   9), -INT8_C(  89),  INT8_C( 126),  INT8_C( 100), -INT8_C(  85), -INT8_C(  63), -INT8_C(  15),
       INT8_C(  15), -INT8_C(  27),  INT8_C(  59), -INT8_C(  61),  INT8_C( 117),  INT8_C(  96), -INT8_C(  73),  INT8_C(  38),
      -INT8_C( 126),  INT8_C( 126), -INT8_C(  38), -INT8_C( 123),  INT8_C(  92),  INT8_C(  22), -INT8_C(  18),  INT8_C( 113),
       INT8_C( 100), -INT8_C(  81), -INT8_C(  20), -INT8_C(  48), -INT8_C( 125), -INT8_C(  58), -INT8_C(  97),  INT8_C( 126),
      -INT8_C(  49),  INT8_C(  71), -INT8_C(   4),  INT8_C(  51), -INT8_C(  14), -INT8_C(  67),  INT8_C(  37),  INT8_C(   1),
      -INT8_C(  94),  INT8_C(  96), -INT8_C(  60),  INT8_C(  23), -INT8_C(  64),  INT8_C( 124),  INT8_C(  61),  INT8_C(  67),
      -INT8_C(   6),  INT8_C(  24), -INT8_C(  56),  INT8_C(  86),  INT8_C(  46), -INT8_C(  74), -INT8_C(  57), -INT8_C( 110),
       INT8_C( 101), -INT8_C(  76),  INT8_C(  98), -INT8_C(  24),  INT8_C( 122),  INT8_C(   2),  INT8_C( 102),  INT8_C(  73),
       INT8_C(  73),  INT8_C(  98),  INT8_C( 124),  INT8_C(  59),  INT8_C(  31), -INT8_C(  95),  INT8_C(  61), -INT8_C(  63),
       INT8_C(   2),  INT8_C(   1), -INT8_C(  40), -INT8_C(  62),  INT8_C( 125),  INT8_C(  22),  INT8_C(   5),  INT8_C( 119),
       INT8_C(  46), -INT8_C(  51), -INT8_C(  51),  INT8_C(  92), -INT8_C( 125), -INT8_C( 107), -INT8_C(  17), -INT8_C(  23),
       INT8_C(  73),  INT8_C(  81), -INT8_C(  47), -INT8_C(  61),  INT8_C(  83),  INT8_C(  56),  INT8_C(  12), -INT8_C( 100),
      -INT8_C( 102), -INT8_C( 120), -INT8_C(  40), -INT8_C(  70),  INT8_C(  42),  INT8_C(  21),  INT8_C( 123),  INT8_C(  44),
       INT8_C(  22),  INT8_C(  84), -INT8_C(  18), -INT8_C( 108),  INT8_C( 106), -INT8_C(  12),  INT8_C(  11), -INT8_C( 104),
      -INT8_C(  63), -INT8_C(  39), -INT8_C(  12),  INT8_C(  69),  INT8_C( 110), -INT8_C(  29),  INT8_C(  46), -INT8_C(  73),
       INT8_C(  53), -INT8_C(   1),  INT8_C( 122), -INT8_C( 120),  INT8_C(  55), -INT8_C( 122),  INT8_C(  37), -INT8_C(  46),
       INT8_C(  14), -INT8_C(   3), -INT8_C( 116),  INT8_C(  56),  INT8_C(  18),  INT8_C(   7),  INT8_C( 100),  INT8_C(  40),
       INT8_C(  91),  INT8_C(  83), -INT8_C(  68), -INT8_C(  59),  INT8_C(  71), -INT8_C(  56),  INT8_C(  93),  INT8_C(   8),
      -INT8_C(  95),  INT8_C(  82),  INT8_C(  77),  INT8_C(  15),  INT8_C(  53),  INT8_C( 123), -INT8_C(  58),  INT8_C( 106),
       INT8_C( 123),  INT8_C(  64), -INT8_C(  13), -INT8_C(  78), -INT8_C(  58),  INT8_C(  24), -INT8_C( 124), -INT8_C(  44),
       INT8_C(  21),  INT8_C(  16),  INT8_C(  13),  INT8_C(  39),  INT8_C(  24),  INT8_C( 113),  INT8_C(  79),  INT8_C( 115),
      -INT8_C(  60),  INT8_C(  12),  INT8_C(  57),  INT8_C(  11), -INT8_C(  44), -INT8_C( 106),  INT8_C(  20),  INT8_C( 117),
      -INT8_C(  24),  INT8_C(  97), -INT8_C( 124),  INT8_C(  30), -INT8_C(  35),  INT8_C(  74), -INT8_C( 120),  INT8_C(  88),
      -INT8_C( 118),  INT8_C( 123),  INT8_C(  10),  INT8_C(  80), -INT8_C( 109), -INT8_C( 113),  INT8_C(  36), -INT8_C(  88),
      -INT8_C(  97),  INT8_C(  49), -INT8_C(  49), -INT8_C(  73), -INT8_C(  93),  INT8_C(  31),  INT8_C(  43),  INT8_C( 103),
       INT8_C(  43),  INT8_C( 100),  INT8_C( 115), -INT8_C(   1), -INT8_C(   6), -INT8_C( 121),  INT8_C( 116), -INT8_C(  29),
      -INT8_C(  24), -INT8_C(   8),  INT8_C(   1), -INT8_C(  59),  INT8_C(  66), -INT8_C( 119),  INT8_C(  29), -INT8_C(  52),
       INT8_C(   5),  INT8_C(  40),  INT8_C(  28), -INT8_C( 104), -INT8_C(  73),  INT8_C(  64),  INT8_C(  65),  INT8_C(  86),
       INT8_C( 114),  INT8_C(  16),  INT8_C(  14),  INT8_C(  21),  INT8_C(  47),  INT8_C(  57),  INT8_C( 124),  INT8_C(  90),
      -INT8_C(  99), -INT8_C(  17),  INT8_C(  89), -INT8_C( 105),  INT8_C( 118), -INT8_C(  51),  INT8_C( 122),  INT8_C(  95),
      -INT8_C(  59),  INT8_C( 123),  INT8_C(  36),  INT8_C(   7),  INT8_C(   5),  INT8_C(  66), -INT8_C(  45),  INT8_C(  10),
       INT8_C( 106), -INT8_C(  17), -INT8_C(  94),  INT8_C(  33),  INT8_C(  48), -INT8_C(  29),  INT8_C( 119), -INT8_C(  94),
      -INT8_C(  12), -INT8_C( 123), -INT8_C(  73),  INT8_C(  35), -INT8_C(  66),  INT8_C(  51),  INT8_C( 126),  INT8_C(  91),
       INT8_C(  35), -INT8_C(  41), -INT8_C(  13), -INT8_C( 103), -INT8_C(  91),  INT8_C( 109), -INT8_C(   8),  INT8_C( 106),
      -INT8_C(  23),  INT8_C(  29),  INT8_C( 114), -INT8_C(  18),  INT8_C(  95),  INT8_C(  69), -INT8_C(   8), -INT8_C(  55),
       INT8_C(  53), -INT8_C( 102), -INT8_C(  22),  INT8_C( 101),  INT8_C( 126),  INT8_C(  97),  INT8_C(   7),  INT8_C( 114),
      -INT8_C(  25), -INT8_C(  66), -INT8_C( 107), -INT8_C(  91), -INT8_C(  15),  INT8_C(  19),  INT8_C(   1),  INT8_C(  20),
      -INT8_C(  21), -INT8_C(  12), -INT8_C(  82), -INT8_C( 112),  INT8_C(  97), -INT8_C(  90), -INT8_C(   6),  INT8_C(  74),
      -INT8_C(  61),  INT8_C( 108),  INT8_C(  56),  INT8_C(  34), -INT8_C(  78),  INT8_C(  48), -INT8_C(  21), -INT8_C(  25),
      -INT8_C(  53), -INT8_C(  43),  INT8_C(  76),  INT8_C(  73),  INT8_C(  55),  INT8_C(  83), -INT8_C(  69),  INT8_C(  30),
       INT8_C(  17),  INT8_C(  80), -INT8_C(  61),  INT8_C(   2),  INT8_C( 100), -INT8_C(  60),  INT8_C(  23),  INT8_C(  79),
      -INT8_C(  72), -INT8_C(  59), -INT8_C(  33),  INT8_C(  26),  INT8_C( 107), -INT8_C(  39),  INT8_C( 100),  INT8_C(  47),
       INT8_C(  70), -INT8_C(  99),  INT8_C(  81), -INT8_C(   8), -INT8_C(  51),  INT8_C(  61), -INT8_C(  33), -INT8_C( 104),
       INT8_C(  18),  INT8_C(  43), -INT8_C(  31),  INT8_C(  73),  INT8_C( 126), -INT8_C( 100),  INT8_C( 103), -INT8_C( 113),
      -INT8_C(  19),  INT8_C(  43), -INT8_C( 111),  INT8_C(  81), -INT8_C(  17), -INT8_C(  88), -INT8_C(  96), -INT8_C(  88),
       INT8_C( 109),      INT8_MAX, -INT8_C(  62), -INT8_C(  39),  INT8_C(  88),  INT8_C(  38),  INT8_C(   8), -INT8_C(  98),
      -INT8_C(  61),  INT8_C(  89), -INT8_C( 106), -INT8_C( 111), -INT8_C( 106),  INT8_C( 117),  INT8_C(  41), -INT8_C(  87),
      -INT8_C(  96),  INT8_C(  11), -INT8_C(  14),  INT8_C(  30), -INT8_C(  89),  INT8_C(  90), -INT8_C(  83), -INT8_C( 108),
      -INT8_C( 123),  INT8_C(  63), -INT8_C(  27),  INT8_C( 116), -INT8_C(  25), -INT8_C( 123),  INT8_C(  28),  INT8_C(  85),
       INT8_C(   4), -INT8_C(  34),  INT8_C(  46),  INT8_C(  93),  INT8_C(   5),  INT8_C(  54), -INT8_C(   5), -INT8_C(  56),
      -INT8_C( 113), -INT8_C( 110),  INT8_C(  89),  INT8_C(  38),  INT8_C(   7), -INT8_C( 125), -INT8_C(  49), -INT8_C(  88),
      -INT8_C( 114), -INT8_C(  63), -INT8_C(  58),  INT8_C(  53),  INT8_C(  27),  INT8_C( 116), -INT8_C(  54), -INT8_C(  96),
      -INT8_C(  77), -INT8_C(  81),  INT8_C(  21), -INT8_C( 102),  INT8_C(  53),  INT8_C(  49), -INT8_C(  17),  INT8_C(  57),
       INT8_C(  16),  INT8_C(  29), -INT8_C( 106),  INT8_C(  21),  INT8_C(  83), -INT8_C( 110), -INT8_C(  35), -INT8_C(  29),
       INT8_C(  36),  INT8_C(  55),  INT8_C(   9),  INT8_C(  43), -INT8_C(  70), -INT8_C(  40), -INT8_C(  45),  INT8_C(  72),
      -INT8_C( 103), -INT8_C( 102),  INT8_C( 125), -INT8_C(  75),  INT8_C(  14),  INT8_C(  71),  INT8_C(  85), -INT8_C(  63),
      -INT8_C(   9),  INT8_C( 106),  INT8_C(  91),  INT8_C(  44), -INT8_C( 100),  INT8_C(  75),  INT8_C( 101), -INT8_C(  84),
       INT8_C( 104), -INT8_C(   4), -INT8_C(  63), -INT8_C(  68), -INT8_C( 114), -INT8_C(  98), -INT8_C(  97), -INT8_C(  78),
      -INT8_C(  43), -INT8_C(  88), -INT8_C(  35), -INT8_C( 113),      INT8_MIN, -INT8_C(  79), -INT8_C(  41),  INT8_C(  25),
       INT8_C(  75),  INT8_C(  85), -INT8_C(  50),  INT8_C(  89), -INT8_C( 100),  INT8_C(  36),  INT8_C(  26), -INT8_C( 109),
      -INT8_C( 114),  INT8_C( 117), -INT8_C(  65),  INT8_C(  42), -INT8_C(  64),  INT8_C(  37), -INT8_C(  42),  INT8_C(  41),
       INT8_C(  33), -INT8_C( 105), -INT8_C(  27), -INT8_C(  81),  INT8_C(  54), -INT8_C( 124),  INT8_C(  97),  INT8_C(  11),
       INT8_C(  44),  INT8_C(  62), -INT8_C( 101), -INT8_C(  84), -INT8_C(  17),  INT8_C( 114), -INT8_C(  59),  INT8_C(  58),
      -INT8_C(  57), -INT8_C( 108), -INT8_C( 109),  INT8_C( 100), -INT8_C(  72), -INT8_C(  83), -INT8_C(   9),  INT8_C(  70),
       INT8_C(  35), -INT8_C(  73),  INT8_C( 113), -INT8_C(  29), -INT8_C(  36),  INT8_C(  71),  INT8_C(  12), -INT8_C(   3),
      -INT8_C(  33), -INT8_C(  15), -INT8_C(  84),  INT8_C(  21),  INT8_C( 117),  INT8_C(  13),  INT8_C(  32), -INT8_C(  95),
       INT8_C(  75), -INT8_C(  69),  INT8_C(  77),  INT8_C(  59),  INT8_C(  46),  INT8_C(  19),  INT8_C( 117), -INT8_C(  11),
      -INT8_C(  89),  INT8_C(   9),  INT8_C(  89),  INT8_C(  95), -INT8_C(  74),  INT8_C(  81), -INT8_C(  91), -INT8_C(  39),
       INT8_C(   8),  INT8_C(  22), -INT8_C(  67), -INT8_C(  28),  INT8_C(  94), -INT8_C(  55), -INT8_C(  31),  INT8_C(  61),
      -INT8_C(  69), -INT8_C( 115),  INT8_C(  82),  INT8_C(  48), -INT8_C( 102),  INT8_C( 114), -INT8_C(  46), -INT8_C(  27),
       INT8_C(  46),  INT8_C(  31),  INT8_C(  32),  INT8_C(  92),  INT8_C(  50), -INT8_C( 106),  INT8_C(  81) };
  static const int8_t e[] =
    {  INT8_C(  16),  INT8_C(  60), -INT8_C(   3), -INT8_C( 119), -INT8_C(  48),      INT8_MIN, -INT8_C(  78),      INT8_MIN,
       INT8_C( 102),      INT8_MAX, -INT8_C(  84), -INT8_C(  22),  INT8_C(  14), -INT8_C(  95),  INT8_C(   3), -INT8_C(  31),
       INT8_C(  17),  INT8_C(  80),  INT8_C( 101), -INT8_C(  25), -INT8_C(  34),  INT8_C(  36), -INT8_C(  15),  INT8_C(  51),
           INT8_MIN, -INT8_C(  19),  INT8_C(  17),  INT8_C(  78), -INT8_C(   8),      INT8_MIN, -INT8_C(  60),  INT8_C(   9),
           INT8_MIN, -INT8_C(  63), -INT8_C( 110),      INT8_MIN,  INT8_C(  37),  INT8_C(  69),  INT8_C( 114),      INT8_MAX,
      -INT8_C(  11),  INT8_C(  30),      INT8_MIN,  INT8_C(   4),      INT8_MAX,      INT8_MIN, -INT8_C(  26), -INT8_C(  47),
      -INT8_C(  53),  INT8_C(  76), -INT8_C(  72),      INT8_MAX,  INT8_C( 112), -INT8_C(  87), -INT8_C(  36), -INT8_C( 101),
      -INT8_C( 104), -INT8_C(  19), -INT8_C(  23), -INT8_C( 112),  INT8_C(  31),      INT8_MAX, -INT8_C( 103),      INT8_MAX,
           INT8_MIN,  INT8_C(  44), -INT8_C(  52), -INT8_C( 107),  INT8_C( 113),  INT8_C(  62),  INT8_C(  33),  INT8_C( 102),
       INT8_C(  93), -INT8_C( 104),  INT8_C( 107),  INT8_C(  29),      INT8_MIN,      INT8_MIN, -INT8_C(  18),      INT8_MAX,
      -INT8_C(  98),      INT8_MAX, -INT8_C( 121),  INT8_C(  15),  INT8_C(  81),      INT8_MIN, -INT8_C(  85), -INT8_C(  23),
           INT8_MIN,      INT8_MAX,      INT8_MIN,  INT8_C( 112),      INT8_MIN,  INT8_C(  20), -INT8_C(   3),      INT8_MAX,
       INT8_C(  65), -INT8_C(  53),      INT8_MIN,      INT8_MAX,  INT8_C(   9),      INT8_MIN,  INT8_C(  25),      INT8_MIN,
       INT8_C(   2), -INT8_C( 123),      INT8_MAX,  INT8_C(  21),      INT8_MAX,  INT8_C( 116), -INT8_C(  13),  INT8_C( 117),
       INT8_C(  28),  INT8_C( 123),      INT8_MAX,  INT8_C( 109), -INT8_C(  33),      INT8_MIN,  INT8_C(  88),  INT8_C(  48),
      -INT8_C(  59), -INT8_C(  46), -INT8_C(  95),  INT8_C(   8),      INT8_MAX, -INT8_C(  97), -INT8_C(  69),  INT8_C(  39),
       INT8_C( 106),  INT8_C(   4), -INT8_C(  38),  INT8_C( 116),      INT8_MIN, -INT8_C(  12), -INT8_C(  36),      INT8_MIN,
       INT8_C( 121),  INT8_C(  96), -INT8_C( 120),      INT8_MIN, -INT8_C(  44),  INT8_C( 124), -INT8_C(  59), -INT8_C(  16),
      -INT8_C(   9),      INT8_MIN,      INT8_MIN, -INT8_C(  41),  INT8_C( 122), -INT8_C(  73),  INT8_C(   8),  INT8_C(  63),
           INT8_MAX,      INT8_MAX,  INT8_C(  71),      INT8_MIN,  INT8_C(  73),  INT8_C(   4), -INT8_C( 104), -INT8_C(  76),
       INT8_C(   8),      INT8_MIN,  INT8_C(  40),  INT8_C( 120),  INT8_C( 103),  INT8_C(   4), -INT8_C(  21), -INT8_C(  32),
       INT8_C( 101),  INT8_C( 115),  INT8_C(  48),      INT8_MIN, -INT8_C(  17), -INT8_C(  11),  INT8_C(  43), -INT8_C(  24),
       INT8_C(  63), -INT8_C( 118), -INT8_C(  65), -INT8_C(  70),  INT8_C(  65), -INT8_C(  57), -INT8_C(   7), -INT8_C(  54),
       INT8_C( 113),  INT8_C(  66),  INT8_C(  59), -INT8_C(  69),  INT8_C(  70), -INT8_C(  44),  INT8_C( 111),  INT8_C(  78),
           INT8_MIN,      INT8_MAX,      INT8_MAX, -INT8_C(  82),      INT8_MAX,      INT8_MAX, -INT8_C( 114),  INT8_C(   1),
       INT8_C(  38),      INT8_MAX,  INT8_C(  60),  INT8_C(  21), -INT8_C(  77),  INT8_C( 104), -INT8_C(   3), -INT8_C(  13),
      -INT8_C(  14), -INT8_C(  67), -INT8_C(  82),  INT8_C(  52),      INT8_MAX,      INT8_MAX, -INT8_C(   2), -INT8_C(   9),
      -INT8_C(  23),  INT8_C(  58),      INT8_MAX,  INT8_C(  47),  INT8_C(  14),      INT8_MIN,      INT8_MAX,  INT8_C(  85),
      -INT8_C(  70),  INT8_C(  70),  INT8_C(   3),  INT8_C(  87), -INT8_C(   7),      INT8_MAX,      INT8_MIN,  INT8_C(  31),
           INT8_MIN,      INT8_MAX,  INT8_C(  52),  INT8_C(   3), -INT8_C(   3),      INT8_MIN, -INT8_C(  10), -INT8_C(  17),
      -INT8_C(  16),      INT8_MAX,  INT8_C(  35),      INT8_MIN,      INT8_MIN,  INT8_C(  35),  INT8_C( 109),  INT8_C(  54),
       INT8_C(  93),  INT8_C(  32),  INT8_C( 102),  INT8_C( 108),  INT8_C(  66), -INT8_C(  27),      INT8_MAX, -INT8_C(   3),
       INT8_C(  43), -INT8_C(  59),  INT8_C(  84),  INT8_C(  36),  INT8_C(  86), -INT8_C(  83),  INT8_C(  67), -INT8_C(  90),
       INT8_C(  67),  INT8_C( 121), -INT8_C(  87),      INT8_MIN, -INT8_C(  84),      INT8_MAX,  INT8_C(  48),      INT8_MAX,
       INT8_C(  68),  INT8_C(  84),  INT8_C(  18),      INT8_MAX,  INT8_C( 119),      INT8_MAX,      INT8_MAX,      INT8_MAX,
      -INT8_C(  96),  INT8_C(  45),  INT8_C(  64), -INT8_C(  29),  INT8_C(  18),  INT8_C(   2),      INT8_MAX,  INT8_C(  63),
      -INT8_C(  57),  INT8_C(  53),  INT8_C(  99),  INT8_C(  29), -INT8_C(  29),      INT8_MAX, -INT8_C(  61),  INT8_C(  38),
       INT8_C(  33),  INT8_C( 108),      INT8_MIN, -INT8_C(  51),  INT8_C(  12), -INT8_C( 106),  INT8_C( 105),      INT8_MIN,
      -INT8_C(  21),      INT8_MIN, -INT8_C(  31),  INT8_C(  98), -INT8_C(   5),      INT8_MAX,  INT8_C(  56),      INT8_MAX,
      -INT8_C(  43),      INT8_MIN,      INT8_MIN, -INT8_C(  24),      INT8_MIN,  INT8_C(  96),  INT8_C(  39),  INT8_C(  66),
      -INT8_C( 106),      INT8_MAX,  INT8_C(  97),      INT8_MIN,  INT8_C(  51),  INT8_C(  36), -INT8_C(  97),      INT8_MIN,
           INT8_MAX,  INT8_C(   5),  INT8_C(  33),      INT8_MAX,      INT8_MAX,      INT8_MAX, -INT8_C(  17),      INT8_MAX,
       INT8_C(   7), -INT8_C(  48), -INT8_C(  21),  INT8_C(   2),      INT8_MIN,  INT8_C(  35), -INT8_C(  97),  INT8_C(  77),
      -INT8_C( 100),  INT8_C(  31),      INT8_MIN,      INT8_MIN,      INT8_MAX,      INT8_MIN,  INT8_C(  90),  INT8_C(  22),
      -INT8_C(  24),      INT8_MAX,      INT8_MAX,  INT8_C(  28), -INT8_C(  31),  INT8_C(  47),      INT8_MIN,      INT8_MIN,
       INT8_C(  54), -INT8_C( 110),  INT8_C(  17), -INT8_C(  45),  INT8_C(  29),  INT8_C(   0),      INT8_MIN,  INT8_C(  36),
      -INT8_C(  48),  INT8_C(  70),  INT8_C(  39),  INT8_C(  72),  INT8_C( 106), -INT8_C(  58),      INT8_MAX,  INT8_C(   7),
      -INT8_C(  26), -INT8_C(  52),  INT8_C(  31),  INT8_C( 103),  INT8_C(  41),      INT8_MIN,  INT8_C( 125),  INT8_C(  18),
       INT8_C(  54),  INT8_C(  14),  INT8_C(  46),  INT8_C(  23),  INT8_C(  62),      INT8_MAX, -INT8_C( 118),      INT8_MIN,
       INT8_C(  50),      INT8_MAX,  INT8_C(  71),  INT8_C(  79),      INT8_MAX, -INT8_C(  94),  INT8_C( 116),      INT8_MIN,
      -INT8_C(  22),      INT8_MAX, -INT8_C(  76),  INT8_C(  84),  INT8_C(  98),      INT8_MIN,      INT8_MIN,      INT8_MIN,
       INT8_C(  22),  INT8_C( 122), -INT8_C(  80),  INT8_C(  64), -INT8_C(  12),  INT8_C(  46),  INT8_C(  83),      INT8_MIN,
       INT8_C(  60),      INT8_MAX,      INT8_MIN,      INT8_MIN,      INT8_MIN,      INT8_MAX, -INT8_C(  17),      INT8_MIN,
           INT8_MIN,  INT8_C(  55), -INT8_C(  92),  INT8_C(   2), -INT8_C(  38),  INT8_C(  25),      INT8_MIN, -INT8_C(  60),
      -INT8_C(  75),  INT8_C(  36),  INT8_C(  24),  INT8_C(  23),      INT8_MIN,      INT8_MIN,  INT8_C(  97),      INT8_MAX,
      -INT8_C(  18),  INT8_C(  17), -INT8_C(  57), -INT8_C(  29),  INT8_C(  64),  INT8_C(  26),  INT8_C(  13),      INT8_MIN,
      -INT8_C( 101),      INT8_MIN, -INT8_C(   8), -INT8_C(  66),  INT8_C(  26), -INT8_C(  23),  INT8_C(  18), -INT8_C( 126),
           INT8_MIN, -INT8_C(  74), -INT8_C( 124), -INT8_C(   6), -INT8_C(  49), -INT8_C(  12), -INT8_C(  65), -INT8_C( 124),
       INT8_C(  25), -INT8_C(  40), -INT8_C(  99), -INT8_C( 120),  INT8_C(  77), -INT8_C(   2),  INT8_C(  14),  INT8_C(  59),
       INT8_C(  16), -INT8_C(  43),      INT8_MIN,  INT8_C(  81), -INT8_C(  17),      INT8_MIN, -INT8_C(  50), -INT8_C( 116),
       INT8_C( 125), -INT8_C(  57),  INT8_C(  74),      INT8_MAX, -INT8_C(  80),      INT8_MIN,  INT8_C(  25), -INT8_C(  47),
       INT8_C(  19), -INT8_C(  97),      INT8_MAX, -INT8_C(  29), -INT8_C( 109),      INT8_MAX,  INT8_C( 104), -INT8_C(  84),
       INT8_C( 100),  INT8_C(   5),  INT8_C(  52), -INT8_C(  79),  INT8_C(   4),  INT8_C(  68), -INT8_C(  20),  INT8_C(  20),
       INT8_C(  25),  INT8_C(  12),      INT8_MIN,  INT8_C(  10),      INT8_MIN,      INT8_MIN, -INT8_C( 106), -INT8_C(  73),
      -INT8_C(   5), -INT8_C(  32),  INT8_C(  78), -INT8_C(  85),      INT8_MIN,      INT8_MIN,      INT8_MIN,  INT8_C(  79),
       INT8_C(   8),  INT8_C(  73),  INT8_C(  51),      INT8_MAX, -INT8_C(  44),      INT8_MAX,  INT8_C(  72),      INT8_MIN,
      -INT8_C(  95),  INT8_C( 124), -INT8_C(  23),      INT8_MAX, -INT8_C(  64), -INT8_C(  42), -INT8_C(  71), -INT8_C(  37),
      -INT8_C(  29),      INT8_MIN, -INT8_C(  27),  INT8_C(  29),  INT8_C(  83),      INT8_MIN,      INT8_MAX,  INT8_C(  78),
       INT8_C(  91),  INT8_C(  34), -INT8_C(   5), -INT8_C( 105), -INT8_C( 117),  INT8_C( 119), -INT8_C(  25),      INT8_MAX,
      -INT8_C(  64),      INT8_MIN,      INT8_MIN,      INT8_MAX, -INT8_C(  73),      INT8_MIN, -INT8_C(  51),  INT8_C(  88),
      -INT8_C(  12), -INT8_C(  73), -INT8_C(   2), -INT8_C(  75), -INT8_C( 114),      INT8_MAX, -INT8_C( 112),  INT8_C( 113),
      -INT8_C(  41),      INT8_MIN, -INT8_C( 114),  INT8_C(  43),      INT8_MAX,  INT8_C(  98),  INT8_C( 121),      INT8_MIN,
           INT8_MAX,      INT8_MIN, -INT8_C(  30),  INT8_C(  17), -INT8_C(  19), -INT8_C(  54),      INT8_MAX, -INT8_C(  83),
      -INT8_C(  27), -INT8_C(  44),  INT8_C(  67),      INT8_MAX,      INT8_MIN,  INT8_C(  17), -INT8_C(  12),  INT8_C(  64),
      -INT8_C(  55), -INT8_C(  14), -INT8_C(  10),  INT8_C(  87),      INT8_MAX, -INT8_C( 122), -INT8_C(  56),      INT8_MAX,
      -INT8_C(   4),      INT8_MIN,      INT8_MAX, -INT8_C(  20), -INT8_C(  72),  INT8_C(  39),  INT8_C(  56),  INT8_C(  60),
           INT8_MAX,  INT8_C(  26),  INT8_C(  77),      INT8_MAX, -INT8_C(  27), -INT8_C(  13),  INT8_C(  55) };

  static int8_t r[sizeof(e) / sizeof(e[0])];
  static const int32_t len = HEDLEY_STATIC_CAST(int32_t, sizeof(e) / sizeof(e[0]));
  int32_t i = 0;
  simde_svbool_t pg = simde_svwhilelt_b8_s32(i, len);
  while (simde_svptest_first(simde_svptrue_b8(), pg)) {
    simde_svint8_t
      rv,
      av = simde_svld1_s8(pg, &(a[i])),
      bv = simde_svld1_s8(pg, &(b[i]));

    rv = simde_svqadd_s8(av, bv);

    simde_svst1_s8(pg, &(r[i]), rv);

    i += simde_svcntb();
    pg = simde_svwhilelt_b8_s32(i, len);
  }

  simde_assert_equal_vi8(len, e, r);

  return 0;
#else
  int8_t a[1024], b[1024], e[1024];
  int32_t len = simde_test_arm_sve_random_length(sizeof(e), sizeof(e[0]));

  fputc('\n', stdout);

  simde_test_codegen_random_memory(sizeof(a), HEDLEY_REINTERPRET_CAST(uint8_t*, a));
  simde_test_codegen_random_memory(sizeof(b), HEDLEY_REINTERPRET_CAST(uint8_t*, b));

  int32_t i = 0;
  simde_svbool_t pg = simde_svwhilelt_b8_s32(i, len);
  while (simde_svptest_first(simde_svptrue_b8(), pg)) {
    simde_svint8_t av, bv, ev;

    av = simde_svld1_s8(pg, &(a[i]));
    bv = simde_svld1_s8(pg, &(b[i]));

    ev = simde_svqadd_s8(av, bv);

    simde_svst1_s8(pg, &(e[i]), ev);

    i += simde_svcntb();
    pg = simde_svwhilelt_b8_s32(i, len);
  }

  simde_test_codegen_write_1vi8(1, HEDLEY_STATIC_CAST(size_t, len), a);
  simde_test_codegen_write_1vi8(1, HEDLEY_STATIC_CAST(size_t, len), b);
  simde_test_codegen_write_1vi8(1, HEDLEY_STATIC_CAST(size_t, len), e);

  return 1;
#endif
}

static int
test_simde_svqadd_s16 (SIMDE_MUNIT_TEST_ARGS) {
#if 1
  static const int16_t a[] =
    { -INT16_C( 22553),  INT16_C( 25632),  INT16_C(  5952),  INT16_C( 21518), -INT16_C( 28694), -INT16_C( 10235),  INT16_C( 26111),  INT16_C(   416),
       INT16_C( 32716), -INT16_C(  4051), -INT16_C(  3177),  INT16_C( 17006),  INT16_C( 25455), -INT16_C( 21628),  INT16_C( 19318),  INT16_C( 23989),
      -INT16_C( 10510),  INT16_C( 13249), -INT16_C( 12307), -INT16_C( 10361), -INT16_C( 29601),  INT16_C( 24239),  INT16_C( 20466), -INT16_C( 16801),
      -INT16_C( 29490),  INT16_C( 26030),  INT16_C(  7296), -INT16_C(  4184),  INT16_C( 11391), -INT16_C(  2661),  INT16_C( 20600),  INT16_C( 27219),
       INT16_C(  5158),  INT16_C(  5277),  INT16_C(  9444),  INT16_C( 17387), -INT16_C( 25679), -INT16_C( 23647),  INT16_C(   234), -INT16_C( 18079),
       INT16_C(  3981),  INT16_C(  3358), -INT16_C( 14805), -INT16_C( 21764), -INT16_C( 26637),  INT16_C( 27552), -INT16_C(  3096),  INT16_C(  3797),
       INT16_C( 29447), -INT16_C(  5342),  INT16_C(  3735),  INT16_C( 18478), -INT16_C( 12375), -INT16_C( 27669),  INT16_C( 19664),  INT16_C( 23884),
       INT16_C( 27483), -INT16_C( 31126),  INT16_C( 26161),  INT16_C(  9265), -INT16_C( 11778), -INT16_C(  6513),  INT16_C( 26052), -INT16_C( 13324),
       INT16_C(  6104),  INT16_C( 28599), -INT16_C(  6875), -INT16_C( 12616), -INT16_C( 23627), -INT16_C( 31391), -INT16_C( 20752),  INT16_C( 19426),
       INT16_C( 19481),  INT16_C( 19154),  INT16_C(   946), -INT16_C( 20369), -INT16_C(   300), -INT16_C( 26474), -INT16_C( 29853),  INT16_C( 15203),
       INT16_C(  6818), -INT16_C( 14421),  INT16_C( 25344), -INT16_C( 19051), -INT16_C(  2554), -INT16_C(  2502),  INT16_C(  7332), -INT16_C( 17086),
       INT16_C(  5224),  INT16_C(  6664),  INT16_C( 30487), -INT16_C(  5173),  INT16_C( 24949), -INT16_C(  9853), -INT16_C(  6420), -INT16_C( 29164),
      -INT16_C( 16639),  INT16_C(   341), -INT16_C(  5598),  INT16_C( 10678), -INT16_C(  3871), -INT16_C( 31457),  INT16_C( 24844),  INT16_C( 29763),
       INT16_C( 19317), -INT16_C( 29554),  INT16_C( 22978),  INT16_C( 14199), -INT16_C(  1349), -INT16_C( 22768),  INT16_C(  9697), -INT16_C(  7626),
      -INT16_C( 29724),  INT16_C(  2019), -INT16_C( 26250),  INT16_C( 22320),  INT16_C( 20361), -INT16_C( 27172),  INT16_C(  8113),  INT16_C(  9737),
      -INT16_C( 26774),  INT16_C( 11443),  INT16_C( 10993), -INT16_C( 21404),  INT16_C( 29733),  INT16_C(  1619), -INT16_C( 30311),  INT16_C( 32488),
      -INT16_C( 13547), -INT16_C( 29819), -INT16_C( 19100), -INT16_C(  4638), -INT16_C( 16892), -INT16_C( 19070), -INT16_C( 29730),  INT16_C( 18652),
      -INT16_C( 28894),  INT16_C(  4981), -INT16_C(  9799), -INT16_C(  8513),  INT16_C(  4941), -INT16_C(  6172), -INT16_C( 13156), -INT16_C( 20123),
      -INT16_C(  5481), -INT16_C(  1220),  INT16_C(  7839), -INT16_C( 23576),  INT16_C( 27357), -INT16_C( 17575),  INT16_C( 13813),  INT16_C(  6147),
       INT16_C( 30916),  INT16_C( 32043), -INT16_C(  5295), -INT16_C( 24740),  INT16_C( 16638), -INT16_C( 25978), -INT16_C(  5363), -INT16_C( 23476),
      -INT16_C( 30507),  INT16_C( 29856), -INT16_C( 30553), -INT16_C( 31721),  INT16_C( 28915), -INT16_C(  6081),  INT16_C( 17061),  INT16_C( 26880),
       INT16_C( 11451),  INT16_C(  3303),  INT16_C( 17175),  INT16_C(  5547),  INT16_C( 12675), -INT16_C( 28497), -INT16_C(  1252), -INT16_C(  3787),
      -INT16_C( 10876),  INT16_C( 11109),  INT16_C( 32093),  INT16_C( 20655), -INT16_C(  4371), -INT16_C( 27847),  INT16_C( 14640), -INT16_C(  5124),
      -INT16_C(  7323),  INT16_C( 31992), -INT16_C( 23770), -INT16_C( 21871),  INT16_C( 16853), -INT16_C(  3782),  INT16_C( 28476), -INT16_C( 16157),
       INT16_C( 18500), -INT16_C( 23829), -INT16_C( 25915), -INT16_C( 19470),  INT16_C( 11144), -INT16_C( 18106),  INT16_C( 16997), -INT16_C( 13660),
      -INT16_C( 25562),  INT16_C( 19527), -INT16_C( 10176),  INT16_C(  5622),  INT16_C( 12569),  INT16_C( 22022), -INT16_C(  5728), -INT16_C(  6890),
       INT16_C(   562), -INT16_C(  2169),  INT16_C( 31132),  INT16_C(  9642), -INT16_C(  3931),  INT16_C(  2782), -INT16_C( 32205),  INT16_C( 22996),
       INT16_C(  6943),  INT16_C( 24485), -INT16_C( 25356),  INT16_C(  3444),  INT16_C( 31437),  INT16_C( 28003),  INT16_C( 31332), -INT16_C( 27054),
      -INT16_C(  9860),  INT16_C(  6285),  INT16_C( 14419), -INT16_C(  1987),  INT16_C(  6952),  INT16_C( 23298), -INT16_C( 10594), -INT16_C( 16972),
       INT16_C( 23282), -INT16_C(  6628), -INT16_C( 28426), -INT16_C( 15373),  INT16_C( 22282),  INT16_C( 28208), -INT16_C( 31791),  INT16_C( 19716),
      -INT16_C( 28068), -INT16_C( 20635), -INT16_C( 23606), -INT16_C(  3417), -INT16_C( 22082),  INT16_C( 23630),  INT16_C(   640),  INT16_C( 29209),
       INT16_C( 13660),  INT16_C( 21080),  INT16_C( 19397), -INT16_C( 12267),  INT16_C( 18082),  INT16_C( 29502),  INT16_C( 17353),  INT16_C(  9664),
       INT16_C(  9941), -INT16_C( 24619),  INT16_C( 31945), -INT16_C( 30831), -INT16_C(  8410), -INT16_C( 22812), -INT16_C(   542),  INT16_C( 15896),
       INT16_C( 28723), -INT16_C(  1903), -INT16_C( 22853),  INT16_C( 24264),  INT16_C(  2028), -INT16_C( 18991), -INT16_C( 28086),  INT16_C(  8155),
      -INT16_C( 20296), -INT16_C( 32322),  INT16_C( 20268),  INT16_C( 21000), -INT16_C(  5073),  INT16_C(  4600),  INT16_C(  4330),  INT16_C(  7503),
      -INT16_C(  8064),  INT16_C( 15381), -INT16_C(  8569),  INT16_C( 29594),  INT16_C( 27621),  INT16_C( 12073),  INT16_C(  1277), -INT16_C( 19122),
       INT16_C(  3252), -INT16_C(  8138),  INT16_C( 16219), -INT16_C( 30157),  INT16_C( 11051),  INT16_C(  5531), -INT16_C(  5316), -INT16_C( 17358),
       INT16_C( 18635),  INT16_C( 21240), -INT16_C( 28122),  INT16_C(  3014), -INT16_C(  4098), -INT16_C(  1222), -INT16_C( 30477), -INT16_C( 22607),
      -INT16_C(  6252), -INT16_C(  4217), -INT16_C( 17882),  INT16_C( 21114),  INT16_C(  5606),  INT16_C(  8807), -INT16_C( 26112), -INT16_C( 13090),
      -INT16_C( 10270),  INT16_C(  2078), -INT16_C(  7063),  INT16_C( 26387) };
  static const int16_t b[] =
    {  INT16_C(  6667),  INT16_C( 13223), -INT16_C( 11457), -INT16_C( 11201),  INT16_C( 27638),  INT16_C(  2839), -INT16_C( 23366), -INT16_C( 14231),
       INT16_C( 19394), -INT16_C( 26975),  INT16_C(  4586),  INT16_C(  8805),  INT16_C( 10545), -INT16_C(  5800),  INT16_C( 11847),  INT16_C( 21167),
       INT16_C( 22088), -INT16_C( 30842), -INT16_C( 15063),  INT16_C(  8027),  INT16_C( 29233), -INT16_C(  5334), -INT16_C( 27882), -INT16_C( 10061),
       INT16_C( 21982), -INT16_C( 13970), -INT16_C( 11162), -INT16_C( 26645),  INT16_C( 17661),  INT16_C( 17536),  INT16_C( 12146), -INT16_C( 17769),
       INT16_C(  7557), -INT16_C( 20927), -INT16_C( 25374),  INT16_C(  5069), -INT16_C(  2290),  INT16_C(  9470), -INT16_C( 19829),  INT16_C( 27133),
       INT16_C( 27399),  INT16_C( 27954),  INT16_C(  7743),  INT16_C( 15621), -INT16_C( 31390), -INT16_C( 11135),  INT16_C(  6325),  INT16_C( 14990),
      -INT16_C( 12491),  INT16_C(  6377), -INT16_C( 18837),  INT16_C( 31019),  INT16_C( 10926),  INT16_C( 14749), -INT16_C( 25892), -INT16_C(  7262),
      -INT16_C( 11002),  INT16_C( 17744),  INT16_C( 22003),  INT16_C( 21890),  INT16_C(  1243), -INT16_C( 28631), -INT16_C( 18660),  INT16_C( 21194),
      -INT16_C( 19578), -INT16_C(  3734), -INT16_C( 27286),  INT16_C(  6250),  INT16_C(  1983), -INT16_C( 25775), -INT16_C(  3166), -INT16_C( 22402),
      -INT16_C( 12344), -INT16_C( 17427),  INT16_C( 28708), -INT16_C(   240),  INT16_C( 14708), -INT16_C( 28529),  INT16_C( 23280),  INT16_C( 30434),
       INT16_C( 19469),  INT16_C( 30567), -INT16_C( 11806), -INT16_C( 24177), -INT16_C(  7975),  INT16_C( 31549), -INT16_C( 17452), -INT16_C( 25565),
       INT16_C(  4234), -INT16_C( 20648),  INT16_C( 26752), -INT16_C(  2898),  INT16_C( 16034), -INT16_C( 28027),  INT16_C( 26520), -INT16_C( 23287),
       INT16_C( 28852), -INT16_C( 27107), -INT16_C( 21438),  INT16_C(  6967),  INT16_C( 29837),  INT16_C( 24982), -INT16_C( 18128), -INT16_C( 17667),
       INT16_C( 21961),  INT16_C( 19049),  INT16_C(  6334),  INT16_C( 24638), -INT16_C( 15530), -INT16_C(  4366), -INT16_C(  1237), -INT16_C(  8301),
      -INT16_C( 20372), -INT16_C( 20875), -INT16_C( 21411), -INT16_C(  5431),  INT16_C( 24353),  INT16_C( 20811),  INT16_C( 18456), -INT16_C(  7925),
       INT16_C( 30110),  INT16_C( 23595),  INT16_C( 27277), -INT16_C(  7236), -INT16_C( 20947),  INT16_C( 22737),  INT16_C( 25770),  INT16_C(  5687),
      -INT16_C( 21483),  INT16_C( 29380), -INT16_C( 29351),  INT16_C( 31324), -INT16_C( 22548),  INT16_C(  1227), -INT16_C( 10513), -INT16_C( 29211),
       INT16_C(  4427), -INT16_C( 10007), -INT16_C( 23173), -INT16_C( 22341), -INT16_C( 29612), -INT16_C(   511),  INT16_C( 14577),  INT16_C(  1556),
      -INT16_C( 10011),  INT16_C( 15992), -INT16_C( 11163),  INT16_C( 20920), -INT16_C( 31877),  INT16_C( 27221),  INT16_C( 14937), -INT16_C( 23048),
      -INT16_C(  7861), -INT16_C( 14723),  INT16_C( 14727), -INT16_C(  9361),  INT16_C( 28869), -INT16_C( 18727), -INT16_C(  4696), -INT16_C( 29252),
       INT16_C( 13509),  INT16_C( 10955), -INT16_C( 31992), -INT16_C( 31877), -INT16_C( 12282),  INT16_C( 24814), -INT16_C(  6646),  INT16_C( 22021),
      -INT16_C( 32057),  INT16_C( 19996), -INT16_C( 29765), -INT16_C( 32471),  INT16_C(   763), -INT16_C( 23497), -INT16_C(  2833), -INT16_C( 19407),
      -INT16_C(   728),  INT16_C( 12766),  INT16_C( 22912), -INT16_C( 30796), -INT16_C( 24023),  INT16_C( 13543), -INT16_C(  4984),  INT16_C( 20618),
      -INT16_C( 22930),  INT16_C( 10910), -INT16_C( 14286),  INT16_C( 11691), -INT16_C(  7478), -INT16_C( 17711),  INT16_C(   982), -INT16_C(   146),
       INT16_C( 19712), -INT16_C( 32720), -INT16_C(  7002), -INT16_C( 12281), -INT16_C(  4473),  INT16_C(  3844), -INT16_C( 28966),  INT16_C( 18783),
      -INT16_C(   460),  INT16_C( 26227),  INT16_C(  7878), -INT16_C( 28524),  INT16_C( 25856), -INT16_C( 10422), -INT16_C( 18072),  INT16_C( 26838),
       INT16_C(  1542), -INT16_C( 21271), -INT16_C(  3862),  INT16_C( 29052), -INT16_C( 32545), -INT16_C( 18047), -INT16_C(  8178),  INT16_C( 17154),
       INT16_C( 30174), -INT16_C( 23383),  INT16_C( 15763), -INT16_C( 27595),  INT16_C( 32675),  INT16_C(  2923),  INT16_C( 16696),  INT16_C( 15988),
       INT16_C( 23879),  INT16_C( 12779),  INT16_C( 26445),  INT16_C( 11427),  INT16_C(  9448), -INT16_C(  2330), -INT16_C(  6140), -INT16_C(  7367),
      -INT16_C(  7330), -INT16_C(  3705), -INT16_C( 17376), -INT16_C( 15483), -INT16_C(  4036),  INT16_C( 29903),  INT16_C( 17201),  INT16_C( 30899),
      -INT16_C( 24928), -INT16_C(  4694),  INT16_C( 19717), -INT16_C(  4838),  INT16_C(   113),  INT16_C( 30180),  INT16_C(  7656),  INT16_C( 18008),
      -INT16_C(  8192),  INT16_C(  8504), -INT16_C( 16996), -INT16_C( 10012), -INT16_C( 19538), -INT16_C(  8371),  INT16_C(   246), -INT16_C( 27048),
       INT16_C(   670), -INT16_C( 23676), -INT16_C( 25009), -INT16_C( 16239),  INT16_C( 30110), -INT16_C( 31179), -INT16_C( 29038), -INT16_C( 27699),
       INT16_C(  1390),  INT16_C(  2740), -INT16_C( 26430),  INT16_C( 28899),  INT16_C( 12364),  INT16_C( 16976), -INT16_C( 22480), -INT16_C( 12583),
       INT16_C( 23978), -INT16_C(  1679),  INT16_C(   763), -INT16_C( 26183), -INT16_C(  4489),  INT16_C(  2591), -INT16_C(  4996), -INT16_C(  5475),
       INT16_C( 20977), -INT16_C( 19211), -INT16_C( 10007),  INT16_C( 13604),  INT16_C( 29704),  INT16_C( 14456),  INT16_C( 20764), -INT16_C( 14842),
       INT16_C( 30638), -INT16_C( 22081),  INT16_C( 30842), -INT16_C(  3774),  INT16_C( 24935), -INT16_C(  7173), -INT16_C( 26546),  INT16_C( 16334),
      -INT16_C( 15383), -INT16_C( 11277),  INT16_C(  6299), -INT16_C( 23800), -INT16_C( 32628), -INT16_C( 22053), -INT16_C(  7727),  INT16_C( 32623),
       INT16_C( 12120), -INT16_C( 11736),  INT16_C( 27303),  INT16_C(  3780), -INT16_C( 16436),  INT16_C(  6898), -INT16_C( 16296),  INT16_C( 16729),
       INT16_C( 19843),  INT16_C(  7700),  INT16_C(  7525), -INT16_C(  3647) };
  static const int16_t e[] =
    { -INT16_C( 15886),        INT16_MAX, -INT16_C(  5505),  INT16_C( 10317), -INT16_C(  1056), -INT16_C(  7396),  INT16_C(  2745), -INT16_C( 13815),
             INT16_MAX, -INT16_C( 31026),  INT16_C(  1409),  INT16_C( 25811),        INT16_MAX, -INT16_C( 27428),  INT16_C( 31165),        INT16_MAX,
       INT16_C( 11578), -INT16_C( 17593), -INT16_C( 27370), -INT16_C(  2334), -INT16_C(   368),  INT16_C( 18905), -INT16_C(  7416), -INT16_C( 26862),
      -INT16_C(  7508),  INT16_C( 12060), -INT16_C(  3866), -INT16_C( 30829),  INT16_C( 29052),  INT16_C( 14875),  INT16_C( 32746),  INT16_C(  9450),
       INT16_C( 12715), -INT16_C( 15650), -INT16_C( 15930),  INT16_C( 22456), -INT16_C( 27969), -INT16_C( 14177), -INT16_C( 19595),  INT16_C(  9054),
       INT16_C( 31380),  INT16_C( 31312), -INT16_C(  7062), -INT16_C(  6143),        INT16_MIN,  INT16_C( 16417),  INT16_C(  3229),  INT16_C( 18787),
       INT16_C( 16956),  INT16_C(  1035), -INT16_C( 15102),        INT16_MAX, -INT16_C(  1449), -INT16_C( 12920), -INT16_C(  6228),  INT16_C( 16622),
       INT16_C( 16481), -INT16_C( 13382),        INT16_MAX,  INT16_C( 31155), -INT16_C( 10535),        INT16_MIN,  INT16_C(  7392),  INT16_C(  7870),
      -INT16_C( 13474),  INT16_C( 24865),        INT16_MIN, -INT16_C(  6366), -INT16_C( 21644),        INT16_MIN, -INT16_C( 23918), -INT16_C(  2976),
       INT16_C(  7137),  INT16_C(  1727),  INT16_C( 29654), -INT16_C( 20609),  INT16_C( 14408),        INT16_MIN, -INT16_C(  6573),        INT16_MAX,
       INT16_C( 26287),  INT16_C( 16146),  INT16_C( 13538),        INT16_MIN, -INT16_C( 10529),  INT16_C( 29047), -INT16_C( 10120),        INT16_MIN,
       INT16_C(  9458), -INT16_C( 13984),        INT16_MAX, -INT16_C(  8071),        INT16_MAX,        INT16_MIN,  INT16_C( 20100),        INT16_MIN,
       INT16_C( 12213), -INT16_C( 26766), -INT16_C( 27036),  INT16_C( 17645),  INT16_C( 25966), -INT16_C(  6475),  INT16_C(  6716),  INT16_C( 12096),
             INT16_MAX, -INT16_C( 10505),  INT16_C( 29312),        INT16_MAX, -INT16_C( 16879), -INT16_C( 27134),  INT16_C(  8460), -INT16_C( 15927),
             INT16_MIN, -INT16_C( 18856),        INT16_MIN,  INT16_C( 16889),        INT16_MAX, -INT16_C(  6361),  INT16_C( 26569),  INT16_C(  1812),
       INT16_C(  3336),        INT16_MAX,        INT16_MAX, -INT16_C( 28640),  INT16_C(  8786),  INT16_C( 24356), -INT16_C(  4541),        INT16_MAX,
             INT16_MIN, -INT16_C(   439),        INT16_MIN,  INT16_C( 26686),        INT16_MIN, -INT16_C( 17843),        INT16_MIN, -INT16_C( 10559),
      -INT16_C( 24467), -INT16_C(  5026),        INT16_MIN, -INT16_C( 30854), -INT16_C( 24671), -INT16_C(  6683),  INT16_C(  1421), -INT16_C( 18567),
      -INT16_C( 15492),  INT16_C( 14772), -INT16_C(  3324), -INT16_C(  2656), -INT16_C(  4520),  INT16_C(  9646),  INT16_C( 28750), -INT16_C( 16901),
       INT16_C( 23055),  INT16_C( 17320),  INT16_C(  9432),        INT16_MIN,        INT16_MAX,        INT16_MIN, -INT16_C( 10059),        INT16_MIN,
      -INT16_C( 16998),        INT16_MAX,        INT16_MIN,        INT16_MIN,  INT16_C( 16633),  INT16_C( 18733),  INT16_C( 10415),        INT16_MAX,
      -INT16_C( 20606),  INT16_C( 23299), -INT16_C( 12590), -INT16_C( 26924),  INT16_C( 13438),        INT16_MIN, -INT16_C(  4085), -INT16_C( 23194),
      -INT16_C( 11604),  INT16_C( 23875),        INT16_MAX, -INT16_C( 10141), -INT16_C( 28394), -INT16_C( 14304),  INT16_C(  9656),  INT16_C( 15494),
      -INT16_C( 30253),        INT16_MAX,        INT16_MIN, -INT16_C( 10180),  INT16_C(  9375), -INT16_C( 21493),  INT16_C( 29458), -INT16_C( 16303),
             INT16_MAX,        INT16_MIN,        INT16_MIN, -INT16_C( 31751),  INT16_C(  6671), -INT16_C( 14262), -INT16_C( 11969),  INT16_C(  5123),
      -INT16_C( 26022),        INT16_MAX, -INT16_C(  2298), -INT16_C( 22902),        INT16_MAX,  INT16_C( 11600), -INT16_C( 23800),  INT16_C( 19948),
       INT16_C(  2104), -INT16_C( 23440),  INT16_C( 27270),        INT16_MAX,        INT16_MIN, -INT16_C( 15265),        INT16_MIN,        INT16_MAX,
             INT16_MAX,  INT16_C(  1102), -INT16_C(  9593), -INT16_C( 24151),        INT16_MAX,  INT16_C( 30926),        INT16_MAX, -INT16_C( 11066),
       INT16_C( 14019),  INT16_C( 19064),        INT16_MAX,  INT16_C(  9440),  INT16_C( 16400),  INT16_C( 20968), -INT16_C( 16734), -INT16_C( 24339),
       INT16_C( 15952), -INT16_C( 10333),        INT16_MIN, -INT16_C( 30856),  INT16_C( 18246),        INT16_MAX, -INT16_C( 14590),        INT16_MAX,
             INT16_MIN, -INT16_C( 25329), -INT16_C(  3889), -INT16_C(  8255), -INT16_C( 21969),        INT16_MAX,  INT16_C(  8296),        INT16_MAX,
       INT16_C(  5468),  INT16_C( 29584),  INT16_C(  2401), -INT16_C( 22279), -INT16_C(  1456),  INT16_C( 21131),  INT16_C( 17599), -INT16_C( 17384),
       INT16_C( 10611),        INT16_MIN,  INT16_C(  6936),        INT16_MIN,  INT16_C( 21700),        INT16_MIN, -INT16_C( 29580), -INT16_C( 11803),
       INT16_C( 30113),  INT16_C(   837),        INT16_MIN,        INT16_MAX,  INT16_C( 14392), -INT16_C(  2015),        INT16_MIN, -INT16_C(  4428),
       INT16_C(  3682),        INT16_MIN,  INT16_C( 21031), -INT16_C(  5183), -INT16_C(  9562),  INT16_C(  7191), -INT16_C(   666),  INT16_C(  2028),
       INT16_C( 12913), -INT16_C(  3830), -INT16_C( 18576),        INT16_MAX,        INT16_MAX,  INT16_C( 26529),  INT16_C( 22041),        INT16_MIN,
             INT16_MAX, -INT16_C( 30219),        INT16_MAX,        INT16_MIN,        INT16_MAX, -INT16_C(  1642), -INT16_C( 31862), -INT16_C(  1024),
       INT16_C(  3252),  INT16_C(  9963), -INT16_C( 21823), -INT16_C( 20786),        INT16_MIN, -INT16_C( 23275),        INT16_MIN,  INT16_C( 10016),
       INT16_C(  5868), -INT16_C( 15953),  INT16_C(  9421),  INT16_C( 24894), -INT16_C( 10830),  INT16_C( 15705),        INT16_MIN,  INT16_C(  3639),
       INT16_C(  9573),  INT16_C(  9778),  INT16_C(   462),  INT16_C( 22740) };

  static int16_t r[sizeof(e) / sizeof(e[0])];
  static const int32_t len = HEDLEY_STATIC_CAST(int32_t, sizeof(e) / sizeof(e[0]));
  int32_t i = 0;
  simde_svbool_t pg = simde_svwhilelt_b16_s32(i, len);
  while (simde_svptest_first(simde_svptrue_b16(), pg)) {
    simde_svint16_t
      rv,
      av = simde_svld1_s16(pg, &(a[i])),
      bv = simde_svld1_s16(pg, &(b[i]));

    rv = simde_svqadd_s16(av, bv);

    simde_svst1_s16(pg, &(r[i]), rv);

    i += simde_svcnth();
    pg = simde_svwhilelt_b16_s32(i, len);
  }

  simde_assert_equal_vi16(len, e, r);

  return 0;
#else
  int16_t a[1024 / sizeof(int16_t)], b[1024 / sizeof(int16_t)], e[1024 / sizeof(int16_t)];
  int32_t len = simde_test_arm_sve_random_length(sizeof(e), sizeof(e[0]));

  fputc('\n', stdout);

  simde_test_codegen_random_memory(sizeof(a), HEDLEY_REINTERPRET_CAST(uint8_t*, a));
  simde_test_codegen_random_memory(sizeof(b), HEDLEY_REINTERPRET_CAST(uint8_t*, b));

  int32_t i = 0;
  simde_svbool_t pg = simde_svwhilelt_b16_s32(i, len);
  while (simde_svptest_first(simde_svptrue_b16(), pg)) {
    simde_svint16_t av, bv, ev;

    av = simde_svld1_s16(pg, &(a[i]));
    bv = simde_svld1_s16(pg, &(b[i]));

    ev = simde_svqadd_s16(av, bv);

    simde_svst1_s16(pg, &(e[i]), ev);

    i += simde_svcnth();
    pg = simde_svwhilelt_b16_s32(i, len);
  }

  simde_test_codegen_write_1vi16(1, HEDLEY_STATIC_CAST(size_t, len), a);
  simde_test_codegen_write_1vi16(1, HEDLEY_STATIC_CAST(size_t, len), b);
  simde_test_codegen_write_1vi16(1, HEDLEY_STATIC_CAST(size_t, len), e);

  return 1;
#endif
}

static int
test_simde_svqadd_s32 (SIMDE_MUNIT_TEST_ARGS) {
#if 1
  static const int32_t a[] =
    { -INT32_C(  1186472446),  INT32_C(   962008425),  INT32_C(   514852930),  INT32_C(   717414251), -INT32_C(  2022090472), -INT32_C(  1307514166), -INT32_C(  1938233208),  INT32_C(  1430536531),
      -INT32_C(  1995535329), -INT32_C(   457022047), -INT32_C(   654150802),  INT32_C(  1778697298), -INT32_C(   403604195), -INT32_C(   258407833),  INT32_C(  1031541482),  INT32_C(  1922220371),
      -INT32_C(   285499059),  INT32_C(  1959968262), -INT32_C(  2091985871), -INT32_C(  1242738024),  INT32_C(   916250319), -INT32_C(   886688032), -INT32_C(  1693932728), -INT32_C(  1324508316),
       INT32_C(  1117718844), -INT32_C(   122195257), -INT32_C(   545585850),  INT32_C(   647260247),  INT32_C(   660353350), -INT32_C(  1343061145), -INT32_C(  1974797786), -INT32_C(   784640107),
       INT32_C(   655678048), -INT32_C(  1826632884),  INT32_C(   661822160),  INT32_C(  1229784578), -INT32_C(  1636783817),  INT32_C(  1380803116), -INT32_C(   220424356),  INT32_C(  1338185711),
       INT32_C(  1048041458),  INT32_C(  1926338210),  INT32_C(   865682225), -INT32_C(  2122521014), -INT32_C(  1138692976), -INT32_C(  1425052338), -INT32_C(   190977275), -INT32_C(   180133885),
      -INT32_C(   634144200), -INT32_C(  2108881583), -INT32_C(  1833572792),  INT32_C(  1561604813),  INT32_C(  1830368286), -INT32_C(  1508366175),  INT32_C(   396014868),  INT32_C(  1292688917),
      -INT32_C(   383238248), -INT32_C(  1922337468),  INT32_C(   673128795),  INT32_C(  1904554835),  INT32_C(   165584743), -INT32_C(   609225017), -INT32_C(  1041085781), -INT32_C(  1072759256),
      -INT32_C(  2102774210),  INT32_C(   118429099), -INT32_C(  1993396426), -INT32_C(   889473694),  INT32_C(   466868564),  INT32_C(  2079818448), -INT32_C(   197334580),  INT32_C(   649415656),
       INT32_C(   766009217), -INT32_C(  1422608268),  INT32_C(  1228170215),  INT32_C(  1813196568), -INT32_C(   645339639),  INT32_C(   894730089),  INT32_C(  1344967016),  INT32_C(  1568071644),
      -INT32_C(  1299570882), -INT32_C(  1101152553),  INT32_C(   973574690), -INT32_C(   895018047),  INT32_C(  1789079297),  INT32_C(   379648174),  INT32_C(  1701300873), -INT32_C(   406659671),
      -INT32_C(   744927748),  INT32_C(   764540683),  INT32_C(  1248369033), -INT32_C(  1256910924), -INT32_C(   333400002),  INT32_C(   956481712),  INT32_C(   866019722),  INT32_C(  1125802311),
      -INT32_C(  1189629010),  INT32_C(   870820010), -INT32_C(   176271551), -INT32_C(  1666477218), -INT32_C(    58143925),  INT32_C(   355830411),  INT32_C(   994628852), -INT32_C(   478256587),
      -INT32_C(  1063480043),  INT32_C(  2146665278),  INT32_C(   813003218),  INT32_C(  1355554820),  INT32_C(  1984713963), -INT32_C(   745831969), -INT32_C(  1978739883),  INT32_C(  1248693301),
       INT32_C(  1611270690),  INT32_C(  1625292429),  INT32_C(  1955615855),  INT32_C(  1606704500), -INT32_C(  1865084751), -INT32_C(   412917615),  INT32_C(  1752265011),  INT32_C(   548659198),
       INT32_C(  1988148713),  INT32_C(   735469499),  INT32_C(   681535412),  INT32_C(  1971872708),  INT32_C(    67526003), -INT32_C(   236230210), -INT32_C(   648389157),  INT32_C(   637078844),
      -INT32_C(  2036631094), -INT32_C(  1934527784), -INT32_C(  1649061671),  INT32_C(   638729651) };
  static const int32_t b[] =
    { -INT32_C(  1505846500),  INT32_C(  2047862332), -INT32_C(  2122680118),  INT32_C(  1395053977),  INT32_C(    31110726), -INT32_C(  2051794057),  INT32_C(  1675877753),  INT32_C(  1476250682),
      -INT32_C(  1543685017), -INT32_C(   316797918),  INT32_C(   510564485), -INT32_C(  1267559314), -INT32_C(  1028305845), -INT32_C(   532190873), -INT32_C(  2126239162),  INT32_C(  1591230966),
      -INT32_C(  1610492547),  INT32_C(  1720524769),  INT32_C(   646314936), -INT32_C(   623183985), -INT32_C(  1415802813),  INT32_C(  1082909689),  INT32_C(    79810318), -INT32_C(  1906140911),
       INT32_C(  1328440430),  INT32_C(  1001831299),  INT32_C(  1180777398),  INT32_C(  1965046834), -INT32_C(   987710004), -INT32_C(  1375359840), -INT32_C(  1934375301), -INT32_C(   853863073),
      -INT32_C(    48412295), -INT32_C(  1153903867),  INT32_C(  1073846798), -INT32_C(  1565187370),  INT32_C(  2137511647), -INT32_C(    47288958), -INT32_C(  1819614925),  INT32_C(  1885382134),
      -INT32_C(   210928146),  INT32_C(  1588569424),  INT32_C(   362721343), -INT32_C(  1313385262), -INT32_C(  1406066902), -INT32_C(  1079418996),  INT32_C(   911356736), -INT32_C(   945376296),
      -INT32_C(  2118511824), -INT32_C(   119576135), -INT32_C(   334594534), -INT32_C(    56703534),  INT32_C(  1890111460),  INT32_C(  1848660270),  INT32_C(  1571062405),  INT32_C(  1713654581),
       INT32_C(   401071966),  INT32_C(  1645266504),  INT32_C(   374283844), -INT32_C(   938283549), -INT32_C(   365380932), -INT32_C(  1856477172),  INT32_C(   552533227), -INT32_C(  1501162681),
       INT32_C(   985492978),  INT32_C(  2023607604), -INT32_C(   812651285), -INT32_C(  1785224743),  INT32_C(  1753206620),  INT32_C(   603576120),  INT32_C(   457435091), -INT32_C(   322843910),
       INT32_C(  1797750327),  INT32_C(   937739340), -INT32_C(  1996065872),  INT32_C(  1881054484), -INT32_C(  1512530579),  INT32_C(  1204343156), -INT32_C(  1285420103),  INT32_C(   228598741),
      -INT32_C(   294074462),  INT32_C(   992304267), -INT32_C(   456905521),  INT32_C(   911532745), -INT32_C(   203739777), -INT32_C(  1220893698), -INT32_C(  2073322065),  INT32_C(  1653672896),
       INT32_C(  1565526738),  INT32_C(   915961446),  INT32_C(  1796889762), -INT32_C(  1113428418), -INT32_C(  1699709541), -INT32_C(   799938015),  INT32_C(  1213512839), -INT32_C(  1716853049),
       INT32_C(  1459026928),  INT32_C(   327978609),  INT32_C(   679388906), -INT32_C(  1327161323), -INT32_C(  1085631074),  INT32_C(   126852224),  INT32_C(   542106456), -INT32_C(  1178993975),
       INT32_C(  1712369909),  INT32_C(   695835710),  INT32_C(  1481766723), -INT32_C(  1240975592),  INT32_C(  1282757580),  INT32_C(  1196688623), -INT32_C(  1318607897), -INT32_C(  1838538339),
       INT32_C(   267942609),  INT32_C(  1513648407), -INT32_C(  2119005591), -INT32_C(  1925727551), -INT32_C(    52777971), -INT32_C(  1757139280),  INT32_C(  1867033553), -INT32_C(  1660832820),
       INT32_C(  1152252461), -INT32_C(   727784085),  INT32_C(   810897519),  INT32_C(   415140875), -INT32_C(   401237960), -INT32_C(  1753196090), -INT32_C(   788084732), -INT32_C(  1452406661),
       INT32_C(  1844255490),  INT32_C(  1883409409), -INT32_C(   408840228),  INT32_C(  1543528228) };
  static const int32_t e[] =
    {              INT32_MIN,              INT32_MAX, -INT32_C(  1607827188),  INT32_C(  2112468228), -INT32_C(  1990979746),              INT32_MIN, -INT32_C(   262355455),              INT32_MAX,
                   INT32_MIN, -INT32_C(   773819965), -INT32_C(   143586317),  INT32_C(   511137984), -INT32_C(  1431910040), -INT32_C(   790598706), -INT32_C(  1094697680),              INT32_MAX,
      -INT32_C(  1895991606),              INT32_MAX, -INT32_C(  1445670935), -INT32_C(  1865922009), -INT32_C(   499552494),  INT32_C(   196221657), -INT32_C(  1614122410),              INT32_MIN,
                   INT32_MAX,  INT32_C(   879636042),  INT32_C(   635191548),              INT32_MAX, -INT32_C(   327356654),              INT32_MIN,              INT32_MIN, -INT32_C(  1638503180),
       INT32_C(   607265753),              INT32_MIN,  INT32_C(  1735668958), -INT32_C(   335402792),  INT32_C(   500727830),  INT32_C(  1333514158), -INT32_C(  2040039281),              INT32_MAX,
       INT32_C(   837113312),              INT32_MAX,  INT32_C(  1228403568),              INT32_MIN,              INT32_MIN,              INT32_MIN,  INT32_C(   720379461), -INT32_C(  1125510181),
                   INT32_MIN,              INT32_MIN,              INT32_MIN,  INT32_C(  1504901279),              INT32_MAX,  INT32_C(   340294095),  INT32_C(  1967077273),              INT32_MAX,
       INT32_C(    17833718), -INT32_C(   277070964),  INT32_C(  1047412639),  INT32_C(   966271286), -INT32_C(   199796189),              INT32_MIN, -INT32_C(   488552554),              INT32_MIN,
      -INT32_C(  1117281232),  INT32_C(  2142036703),              INT32_MIN,              INT32_MIN,              INT32_MAX,              INT32_MAX,  INT32_C(   260100511),  INT32_C(   326571746),
                   INT32_MAX, -INT32_C(   484868928), -INT32_C(   767895657),              INT32_MAX,              INT32_MIN,  INT32_C(  2099073245),  INT32_C(    59546913),  INT32_C(  1796670385),
      -INT32_C(  1593645344), -INT32_C(   108848286),  INT32_C(   516669169),  INT32_C(    16514698),  INT32_C(  1585339520), -INT32_C(   841245524), -INT32_C(   372021192),  INT32_C(  1247013225),
       INT32_C(   820598990),  INT32_C(  1680502129),              INT32_MAX,              INT32_MIN, -INT32_C(  2033109543),  INT32_C(   156543697),  INT32_C(  2079532561), -INT32_C(   591050738),
       INT32_C(   269397918),  INT32_C(  1198798619),  INT32_C(   503117355),              INT32_MIN, -INT32_C(  1143774999),  INT32_C(   482682635),  INT32_C(  1536735308), -INT32_C(  1657250562),
       INT32_C(   648889866),              INT32_MAX,              INT32_MAX,  INT32_C(   114579228),              INT32_MAX,  INT32_C(   450856654),              INT32_MIN, -INT32_C(   589845038),
       INT32_C(  1879213299),              INT32_MAX, -INT32_C(   163389736), -INT32_C(   319023051), -INT32_C(  1917862722),              INT32_MIN,              INT32_MAX, -INT32_C(  1112173622),
                   INT32_MAX,  INT32_C(     7685414),  INT32_C(  1492432931),              INT32_MAX, -INT32_C(   333711957), -INT32_C(  1989426300), -INT32_C(  1436473889), -INT32_C(   815327817),
      -INT32_C(   192375604), -INT32_C(    51118375), -INT32_C(  2057901899),              INT32_MAX };

  static int32_t r[sizeof(e) / sizeof(e[0])];
  static const int32_t len = HEDLEY_STATIC_CAST(int32_t, sizeof(e) / sizeof(e[0]));
  int32_t i = 0;
  simde_svbool_t pg = simde_svwhilelt_b32_s32(i, len);
  while (simde_svptest_first(simde_svptrue_b32(), pg)) {
    simde_svint32_t
      rv,
      av = simde_svld1_s32(pg, &(a[i])),
      bv = simde_svld1_s32(pg, &(b[i]));

    rv = simde_svqadd_s32(av, bv);

    simde_svst1_s32(pg, &(r[i]), rv);

    i += simde_svcntw();
    pg = simde_svwhilelt_b32_s32(i, len);
  }

  simde_assert_equal_vi32(len, e, r);

  return 0;
#else
  int32_t a[1024 / sizeof(int32_t)], b[1024 / sizeof(int32_t)], e[1024 / sizeof(int32_t)];
  int32_t len = simde_test_arm_sve_random_length(sizeof(e), sizeof(e[0]));

  fputc('\n', stdout);

  simde_test_codegen_random_memory(sizeof(a), HEDLEY_REINTERPRET_CAST(uint8_t*, a));
  simde_test_codegen_random_memory(sizeof(b), HEDLEY_REINTERPRET_CAST(uint8_t*, b));

  int32_t i = 0;
  simde_svbool_t pg = simde_svwhilelt_b32_s32(i, len);
  while (simde_svptest_first(simde_svptrue_b32(), pg)) {
    simde_svint32_t av, bv, ev;

    av = simde_svld1_s32(pg, &(a[i]));
    bv = simde_svld1_s32(pg, &(b[i]));

    ev = simde_svqadd_s32(av, bv);

    simde_svst1_s32(pg, &(e[i]), ev);

    i += simde_svcntw();
    pg = simde_svwhilelt_b32_s32(i, len);
  }

  simde_test_codegen_write_1vi32(1, HEDLEY_STATIC_CAST(size_t, len), a);
  simde_test_codegen_write_1vi32(1, HEDLEY_STATIC_CAST(size_t, len), b);
  simde_test_codegen_write_1vi32(1, HEDLEY_STATIC_CAST(size_t, len), e);

  return 1;
#endif
}

static int
test_simde_svqadd_s64 (SIMDE_MUNIT_TEST_ARGS) {
#if 1
  static const int64_t a[] =
    { -INT64_C( 3649955515008527391), -INT64_C( 4950394335674432839),  INT64_C( 7108651951699311817),  INT64_C( 9077670924797574111),
       INT64_C( 7226859768476789681), -INT64_C( 4375196483845074696),  INT64_C( 1555103295313229033),  INT64_C( 1615203909698127697),
      -INT64_C(  624067411299858362),  INT64_C( 5614806086684259885),  INT64_C( 4776653380997028352),  INT64_C( 5590825344433171227),
       INT64_C( 3789942946434853283), -INT64_C( 1694400297245598517),  INT64_C( 3140530730172349281),  INT64_C(  173461561907332372),
       INT64_C(  623533303733200747), -INT64_C( 6112876412698950823), -INT64_C( 4257709585374230354),  INT64_C( 4808235639216510040),
      -INT64_C(  922011305970999569), -INT64_C( 3723246406652826786),  INT64_C( 4403521964514890407),  INT64_C( 3684136101715704584),
      -INT64_C( 8098999142696626932), -INT64_C( 3033021318875852802), -INT64_C( 1225179318172421155), -INT64_C( 5783768014091586492),
      -INT64_C( 6088039116348974398),  INT64_C( 2505320007618509248),  INT64_C( 9149032105951752482),  INT64_C( 8370715829733868760),
       INT64_C( 3473376407166877915), -INT64_C( 3743929817026790749), -INT64_C( 6013205091780792364),  INT64_C( 3510645331881071505),
      -INT64_C( 6020490227322708015),  INT64_C( 5214498167043953126), -INT64_C( 7994201602530069874),  INT64_C( 6483649128404629110),
      -INT64_C( 8835766014326361172),  INT64_C( 2403923376626660767),  INT64_C(  807994354584236709),  INT64_C( 4875375944926628552),
      -INT64_C( 1105535503505538173), -INT64_C( 3025469856829686194), -INT64_C( 2255264268935264750), -INT64_C( 2479556666661500484),
       INT64_C( 3845414269269020188), -INT64_C( 3283940238340759451),  INT64_C( 6240067801730115744), -INT64_C( 4761360745052386891),
      -INT64_C(  510728014277186611), -INT64_C( 5081472042401792024), -INT64_C( 3038792713891613724), -INT64_C( 8560550433827553837),
      -INT64_C( 3726967404601975364), -INT64_C( 5190135983769332186),  INT64_C( 5176617790055213538),  INT64_C( 5246112526684175495),
       INT64_C( 6340469252769123148),  INT64_C( 4773690675295580597),  INT64_C(  482759814855030008), -INT64_C( 6076456098757709609),
      -INT64_C( 2833933894240484318), -INT64_C( 3968621453059800502),  INT64_C( 2565055399060582420),  INT64_C( 2045254332693602904),
       INT64_C( 6949929533368712567), -INT64_C( 8649173584787614882),  INT64_C( 7752016655183063846), -INT64_C( 4131062755960415340),
      -INT64_C( 7694166627043959870),  INT64_C( 6818937160457274023),  INT64_C(  100596990207835110), -INT64_C( 3560875004175284097),
       INT64_C( 8152604712028796502), -INT64_C( 8523575069458503904),  INT64_C( 7590791790110934760),  INT64_C( 8668247455818114928),
      -INT64_C( 1009322191276805437), -INT64_C( 6900358260763031023),  INT64_C( 1862605306739474566), -INT64_C( 6787239243349094092),
       INT64_C( 1194911852131177939),  INT64_C( 7210265058289704631), -INT64_C( 8681903983342385471), -INT64_C( 3584957685468161601),
       INT64_C( 5949263472195956352),  INT64_C( 1668814932050859237),  INT64_C( 7688212647090716120), -INT64_C( 4907155329625059555),
       INT64_C( 4946019326516418742),  INT64_C( 1120324521564857631),  INT64_C( 3477882902958181934),  INT64_C( 5364119847423200379),
      -INT64_C( 7698553407633904762), -INT64_C( 7932080963062189404), -INT64_C( 8221412298843347548), -INT64_C( 2028954793212170247),
       INT64_C( 6155279061846880864), -INT64_C( 5758103862259976925),  INT64_C( 2945440121470026049),  INT64_C( 4088579999244100733),
      -INT64_C( 7348052191324764928), -INT64_C( 7806365075058444562), -INT64_C( 2589070195529739847),  INT64_C( 6123614926238304234) };
  static const int64_t b[] =
    { -INT64_C( 4074600956565941962),  INT64_C( 2135670085392389398), -INT64_C( 2909397624492448497), -INT64_C( 7086826988666624156),
       INT64_C( 4964575572949930265), -INT64_C( 7112725815776697715),  INT64_C( 3515250604875058858),  INT64_C( 5303158092110014356),
       INT64_C( 2314089981429668779),  INT64_C( 3357882694117490542), -INT64_C( 1611471362472302682), -INT64_C( 2591966511725504882),
       INT64_C( 2885632786032848472), -INT64_C( 7600741431159531310),  INT64_C( 1847508884450222948),  INT64_C( 6651497810360764225),
      -INT64_C( 6328029347227172020),  INT64_C( 8300559691285418666),  INT64_C( 2795276203675433510), -INT64_C( 3767289128600166057),
      -INT64_C(  330452375337566486),  INT64_C( 1284590128187467601),  INT64_C( 2886117765066915841),  INT64_C( 8536357094079833389),
      -INT64_C( 7456378478431680455), -INT64_C( 2016825507525944569),  INT64_C( 9062605091404170444), -INT64_C( 4863992587881985923),
       INT64_C( 6685535738580612584),  INT64_C( 6317794413578665958), -INT64_C( 3683178894083262700), -INT64_C( 7692336538602632192),
       INT64_C( 4087733892902323721),  INT64_C( 7795078226618943563), -INT64_C( 2792032922908942043),  INT64_C( 8287075666430268864),
      -INT64_C( 7085415302979008991),  INT64_C( 9176261652653583508), -INT64_C( 7028934987714647358), -INT64_C( 8275913604246876086),
       INT64_C( 1783895511443503314), -INT64_C( 7408037830590188201), -INT64_C( 6700607094175488634), -INT64_C( 1480702302282642054),
       INT64_C( 8579867600858608757), -INT64_C(  543148355180030714), -INT64_C( 3496095863416181890), -INT64_C( 4219828524540374420),
       INT64_C( 6211537356256673692),  INT64_C( 3697641890405112806),  INT64_C( 8753175843528486229), -INT64_C(  905382582068236711),
      -INT64_C( 1975423279914078481), -INT64_C( 4168488884549924803),  INT64_C( 1351618340869648698),  INT64_C( 2189077277088399383),
       INT64_C( 3403581066070265944),  INT64_C( 4607824555805931706),  INT64_C( 7224979194311566201), -INT64_C( 9054993744363585784),
       INT64_C( 6945700328924361539),  INT64_C( 5247115566062012045), -INT64_C( 6299763333554087710), -INT64_C( 2708292199851727683),
      -INT64_C( 1877873120907410455), -INT64_C( 2517149370957726470),  INT64_C(  498384746255780769), -INT64_C( 1552237736936683005),
      -INT64_C(  875552134572440421),  INT64_C( 4305385833885356518),  INT64_C( 7829341280097127256), -INT64_C( 8566553557983587022),
      -INT64_C( 1806974788296665600), -INT64_C( 3639605085672593241), -INT64_C( 7699161524170982831), -INT64_C( 6115354298121965909),
      -INT64_C( 7178296947036086661),  INT64_C(  106498351291050296), -INT64_C( 6319144023265318827),  INT64_C( 8459839254078493970),
      -INT64_C( 3201405555290600703),  INT64_C( 2390561252742033531), -INT64_C( 2483692537402234654),  INT64_C( 3290443767137093947),
       INT64_C( 7601150307722304269), -INT64_C( 2804967446755869658),  INT64_C( 5499249262736305064), -INT64_C(  404148669206369525),
       INT64_C( 7142460784422062023),  INT64_C( 2083873000810394395), -INT64_C(  959017237177391790),  INT64_C( 2716953012712649421),
      -INT64_C( 8018946704661588202), -INT64_C( 4305847577172899155),  INT64_C( 9082872799364173363), -INT64_C( 2625900100597565942),
       INT64_C( 1174001769843157316), -INT64_C( 5970523535084163858),  INT64_C( 3417620947350801470), -INT64_C( 2978526891073886966),
      -INT64_C( 6124092038228944754), -INT64_C( 2094684394168306490), -INT64_C( 7724167545786091909),  INT64_C( 1895187010342381284),
       INT64_C( 9029169385290063335),  INT64_C(  272658580937529665), -INT64_C( 4863480946069628573), -INT64_C( 2630805919701473833) };
  static const int64_t e[] =
    { -INT64_C( 7724556471574469353), -INT64_C( 2814724250282043441),  INT64_C( 4199254327206863320),  INT64_C( 1990843936130949955),
                           INT64_MAX,                      INT64_MIN,  INT64_C( 5070353900188287891),  INT64_C( 6918362001808142053),
       INT64_C( 1690022570129810417),  INT64_C( 8972688780801750427),  INT64_C( 3165182018524725670),  INT64_C( 2998858832707666345),
       INT64_C( 6675575732467701755),                      INT64_MIN,  INT64_C( 4988039614622572229),  INT64_C( 6824959372268096597),
      -INT64_C( 5704496043493971273),  INT64_C( 2187683278586467843), -INT64_C( 1462433381698796844),  INT64_C( 1040946510616343983),
      -INT64_C( 1252463681308566055), -INT64_C( 2438656278465359185),  INT64_C( 7289639729581806248),                      INT64_MAX,
                           INT64_MIN, -INT64_C( 5049846826401797371),  INT64_C( 7837425773231749289),                      INT64_MIN,
       INT64_C(  597496622231638186),  INT64_C( 8823114421197175206),  INT64_C( 5465853211868489782),  INT64_C(  678379291131236568),
       INT64_C( 7561110300069201636),  INT64_C( 4051148409592152814), -INT64_C( 8805238014689734407),                      INT64_MAX,
                           INT64_MIN,                      INT64_MAX,                      INT64_MIN, -INT64_C( 1792264475842246976),
      -INT64_C( 7051870502882857858), -INT64_C( 5004114453963527434), -INT64_C( 5892612739591251925),  INT64_C( 3394673642643986498),
       INT64_C( 7474332097353070584), -INT64_C( 3568618212009716908), -INT64_C( 5751360132351446640), -INT64_C( 6699385191201874904),
                           INT64_MAX,  INT64_C(  413701652064353355),                      INT64_MAX, -INT64_C( 5666743327120623602),
      -INT64_C( 2486151294191265092),                      INT64_MIN, -INT64_C( 1687174373021965026), -INT64_C( 6371473156739154454),
      -INT64_C(  323386338531709420), -INT64_C(  582311427963400480),                      INT64_MAX, -INT64_C( 3808881217679410289),
                           INT64_MAX,                      INT64_MAX, -INT64_C( 5817003518699057702), -INT64_C( 8784748298609437292),
      -INT64_C( 4711807015147894773), -INT64_C( 6485770824017526972),  INT64_C( 3063440145316363189),  INT64_C(  493016595756919899),
       INT64_C( 6074377398796272146), -INT64_C( 4343787750902258364),                      INT64_MAX,                      INT64_MIN,
                           INT64_MIN,  INT64_C( 3179332074784680782), -INT64_C( 7598564533963147721),                      INT64_MIN,
       INT64_C(  974307764992709841), -INT64_C( 8417076718167453608),  INT64_C( 1271647766845615933),                      INT64_MAX,
      -INT64_C( 4210727746567406140), -INT64_C( 4509797008020997492), -INT64_C(  621087230662760088), -INT64_C( 3496795476212000145),
       INT64_C( 8796062159853482208),  INT64_C( 4405297611533834973), -INT64_C( 3182654720606080407), -INT64_C( 3989106354674531126),
                           INT64_MAX,  INT64_C( 3752687932861253632),  INT64_C( 6729195409913324330), -INT64_C( 2190202316912410134),
      -INT64_C( 3072927378145169460), -INT64_C( 3185523055608041524),                      INT64_MAX,  INT64_C( 2738219746825634437),
      -INT64_C( 6524551637790747446),                      INT64_MIN, -INT64_C( 4803791351492546078), -INT64_C( 5007481684286057213),
       INT64_C(   31187023617936110), -INT64_C( 7852788256428283415), -INT64_C( 4778727424316065860),  INT64_C( 5983767009586482017),
       INT64_C( 1681117193965298407), -INT64_C( 7533706494120914897), -INT64_C( 7452551141599368420),  INT64_C( 3492809006536830401) };

  static int64_t r[sizeof(e) / sizeof(e[0])];
  static const int32_t len = HEDLEY_STATIC_CAST(int32_t, sizeof(e) / sizeof(e[0]));
  int32_t i = 0;
  simde_svbool_t pg = simde_svwhilelt_b64_s32(i, len);
  while (simde_svptest_first(simde_svptrue_b64(), pg)) {
    simde_svint64_t
      rv,
      av = simde_svld1_s64(pg, &(a[i])),
      bv = simde_svld1_s64(pg, &(b[i]));

    rv = simde_svqadd_s64(av, bv);

    simde_svst1_s64(pg, &(r[i]), rv);

    i += simde_svcntd();
    pg = simde_svwhilelt_b64_s32(i, len);
  }

  simde_assert_equal_vi64(len, e, r);

  return 0;
#else
  int64_t a[1024 / sizeof(int64_t)], b[1024 / sizeof(int64_t)], e[1024 / sizeof(int64_t)];
  int32_t len = simde_test_arm_sve_random_length(sizeof(e), sizeof(e[0]));

  fputc('\n', stdout);

  simde_test_codegen_random_memory(sizeof(a), HEDLEY_REINTERPRET_CAST(uint8_t*, a));
  simde_test_codegen_random_memory(sizeof(b), HEDLEY_REINTERPRET_CAST(uint8_t*, b));

  int32_t i = 0;
  simde_svbool_t pg = simde_svwhilelt_b64_s32(i, len);
  while (simde_svptest_first(simde_svptrue_b64(), pg)) {
    simde_svint64_t av, bv, ev;

    av = simde_svld1_s64(pg, &(a[i]));
    bv = simde_svld1_s64(pg, &(b[i]));

    ev = simde_svqadd_s64(av, bv);

    simde_svst1_s64(pg, &(e[i]), ev);

    i += simde_svcntd();
    pg = simde_svwhilelt_b64_s32(i, len);
  }

  simde_test_codegen_write_1vi64(1, HEDLEY_STATIC_CAST(size_t, len), a);
  simde_test_codegen_write_1vi64(1, HEDLEY_STATIC_CAST(size_t, len), b);
  simde_test_codegen_write_1vi64(1, HEDLEY_STATIC_CAST(size_t, len), e);

  return 1;
#endif
}

static int
test_simde_svqadd_u8 (SIMDE_MUNIT_TEST_ARGS) {
#if 1
  static const uint8_t a[] =
    { UINT8_C( 26), UINT8_C(167), UINT8_C(191), UINT8_C(199), UINT8_C(116), UINT8_C(220), UINT8_C( 52), UINT8_C(112),
      UINT8_C(172), UINT8_C( 36), UINT8_C(186), UINT8_C( 22), UINT8_C( 16), UINT8_C(187), UINT8_C(119), UINT8_C( 34),
      UINT8_C(138), UINT8_C(225), UINT8_C(119), UINT8_C(189), UINT8_C( 97), UINT8_C(101), UINT8_C(251), UINT8_C(186),
      UINT8_C(130), UINT8_C(119), UINT8_C(133), UINT8_C( 84), UINT8_C( 24), UINT8_C(197), UINT8_C(  0), UINT8_C( 50),
      UINT8_C(109), UINT8_C(191), UINT8_C(249), UINT8_C(225), UINT8_C(155), UINT8_C( 45), UINT8_C( 81), UINT8_C( 71),
      UINT8_C( 81), UINT8_C( 12), UINT8_C( 93), UINT8_C( 97), UINT8_C(199), UINT8_C(212), UINT8_C(131), UINT8_C( 81),
      UINT8_C(181), UINT8_C(250), UINT8_C( 14), UINT8_C( 23), UINT8_C( 96), UINT8_C( 10), UINT8_C(209), UINT8_C(226),
      UINT8_C(129), UINT8_C( 86), UINT8_C( 55), UINT8_C(153), UINT8_C( 28), UINT8_C( 55), UINT8_C(203), UINT8_C(137),
      UINT8_C(246), UINT8_C(196), UINT8_C(106), UINT8_C(145), UINT8_C(241), UINT8_C(187), UINT8_C(216), UINT8_C( 66),
      UINT8_C(199), UINT8_C( 53), UINT8_C(164), UINT8_C(142), UINT8_C(  9), UINT8_C( 39), UINT8_C(224), UINT8_C(190),
      UINT8_C( 34), UINT8_C(238), UINT8_C(213), UINT8_C(130), UINT8_C(248), UINT8_C(166), UINT8_C(100), UINT8_C(121),
      UINT8_C(253), UINT8_C(155), UINT8_C( 18), UINT8_C( 25), UINT8_C(210), UINT8_C(221), UINT8_C(162), UINT8_C(200),
      UINT8_C(161), UINT8_C( 12), UINT8_C( 89), UINT8_C(146), UINT8_C(199), UINT8_C( 49), UINT8_C(213), UINT8_C(143),
      UINT8_C(102), UINT8_C(121), UINT8_C( 29), UINT8_C(111), UINT8_C(160), UINT8_C(253), UINT8_C( 46), UINT8_C(194),
      UINT8_C(236), UINT8_C(  3), UINT8_C( 68), UINT8_C(228), UINT8_C(170), UINT8_C(169), UINT8_C( 94), UINT8_C(167),
      UINT8_C( 68), UINT8_C(112), UINT8_C(192), UINT8_C( 23), UINT8_C( 78), UINT8_C( 98), UINT8_C(223), UINT8_C(239),
      UINT8_C(110), UINT8_C( 57), UINT8_C(130), UINT8_C( 53), UINT8_C(106), UINT8_C( 87), UINT8_C(196), UINT8_C(209),
      UINT8_C(208), UINT8_C(226), UINT8_C( 64), UINT8_C(112), UINT8_C(223), UINT8_C(110), UINT8_C( 51), UINT8_C(203),
      UINT8_C(114), UINT8_C(119), UINT8_C(176), UINT8_C( 28), UINT8_C( 32), UINT8_C( 14), UINT8_C(195), UINT8_C(101),
      UINT8_C(126), UINT8_C(131), UINT8_C(124), UINT8_C(204), UINT8_C(229), UINT8_C( 91), UINT8_C(188), UINT8_C( 83),
      UINT8_C(148), UINT8_C( 62), UINT8_C(136),    UINT8_MAX, UINT8_C(149), UINT8_C( 77), UINT8_C(208), UINT8_C(101),
      UINT8_C( 47), UINT8_C( 16), UINT8_C(213), UINT8_C( 14), UINT8_C(127), UINT8_C(  8), UINT8_C(218), UINT8_C(241),
      UINT8_C(128), UINT8_C(138), UINT8_C( 13), UINT8_C(160), UINT8_C(152), UINT8_C(208), UINT8_C(  5), UINT8_C( 22),
      UINT8_C( 83), UINT8_C(129), UINT8_C(227), UINT8_C( 56), UINT8_C(221), UINT8_C(159), UINT8_C(139), UINT8_C(113),
      UINT8_C(221), UINT8_C( 19), UINT8_C(112), UINT8_C(114), UINT8_C( 96), UINT8_C( 64), UINT8_C(215), UINT8_C(143),
      UINT8_C( 81), UINT8_C(172), UINT8_C(158), UINT8_C(208), UINT8_C(181), UINT8_C(120), UINT8_C(193), UINT8_C( 53),
      UINT8_C(  2), UINT8_C(206), UINT8_C(213), UINT8_C(154), UINT8_C(158), UINT8_C(219), UINT8_C(176), UINT8_C(241),
      UINT8_C( 92), UINT8_C(147), UINT8_C( 41), UINT8_C( 57), UINT8_C( 50), UINT8_C(180), UINT8_C(171), UINT8_C( 15),
      UINT8_C(199), UINT8_C( 27), UINT8_C(129), UINT8_C( 40), UINT8_C( 92), UINT8_C( 88), UINT8_C(183), UINT8_C(173),
      UINT8_C(  5), UINT8_C( 85), UINT8_C(125), UINT8_C(186), UINT8_C(205), UINT8_C( 62), UINT8_C(239), UINT8_C(207),
      UINT8_C( 12), UINT8_C(196), UINT8_C(105), UINT8_C(170), UINT8_C(159), UINT8_C( 26), UINT8_C(155), UINT8_C(252),
      UINT8_C(173), UINT8_C(196), UINT8_C( 53), UINT8_C(224), UINT8_C(120), UINT8_C(224), UINT8_C(239), UINT8_C( 63),
      UINT8_C(252), UINT8_C(113), UINT8_C(103), UINT8_C( 88), UINT8_C(201), UINT8_C( 31), UINT8_C(  5), UINT8_C(206),
      UINT8_C(116), UINT8_C(130), UINT8_C(136), UINT8_C( 66), UINT8_C(192), UINT8_C(119), UINT8_C( 17), UINT8_C(204),
      UINT8_C( 60), UINT8_C(123), UINT8_C(118), UINT8_C(219), UINT8_C(149), UINT8_C( 17), UINT8_C(215), UINT8_C( 66),
      UINT8_C(213), UINT8_C( 13), UINT8_C( 34), UINT8_C( 77), UINT8_C(237), UINT8_C( 18), UINT8_C(140), UINT8_C(233),
      UINT8_C(131), UINT8_C(244), UINT8_C( 65), UINT8_C( 76), UINT8_C( 19), UINT8_C( 70), UINT8_C( 27), UINT8_C(135),
      UINT8_C(200), UINT8_C(163), UINT8_C(201), UINT8_C(136), UINT8_C( 27), UINT8_C(219), UINT8_C( 84), UINT8_C( 87),
      UINT8_C( 86), UINT8_C(202), UINT8_C( 50), UINT8_C(235), UINT8_C(219), UINT8_C( 10), UINT8_C( 45), UINT8_C(176),
      UINT8_C( 23), UINT8_C( 80), UINT8_C(253), UINT8_C(  4), UINT8_C( 98), UINT8_C(138), UINT8_C(238), UINT8_C(229),
      UINT8_C(126), UINT8_C( 47), UINT8_C( 49), UINT8_C(145), UINT8_C(118), UINT8_C( 76), UINT8_C( 24), UINT8_C( 62),
      UINT8_C(240), UINT8_C(226), UINT8_C(199), UINT8_C( 11), UINT8_C(189), UINT8_C( 27), UINT8_C( 98), UINT8_C( 19),
      UINT8_C(230), UINT8_C(148), UINT8_C(254), UINT8_C(193), UINT8_C(158), UINT8_C( 43), UINT8_C(114), UINT8_C(181),
      UINT8_C(123), UINT8_C(111), UINT8_C(186), UINT8_C(221), UINT8_C(249), UINT8_C(168), UINT8_C(194), UINT8_C(119),
      UINT8_C(215), UINT8_C(244), UINT8_C(  8), UINT8_C( 77), UINT8_C( 64), UINT8_C( 33), UINT8_C(140), UINT8_C( 48),
      UINT8_C(  3), UINT8_C( 83), UINT8_C( 59), UINT8_C(192), UINT8_C(110), UINT8_C(157), UINT8_C(211), UINT8_C( 84),
      UINT8_C( 50), UINT8_C(209), UINT8_C( 22), UINT8_C(208), UINT8_C(252), UINT8_C(136), UINT8_C(134), UINT8_C(120),
      UINT8_C(247), UINT8_C( 64), UINT8_C( 85), UINT8_C(241), UINT8_C(232), UINT8_C( 24), UINT8_C(104), UINT8_C(191),
      UINT8_C( 12), UINT8_C(113), UINT8_C( 13), UINT8_C( 76), UINT8_C(146), UINT8_C(153), UINT8_C(125), UINT8_C(149),
      UINT8_C(236), UINT8_C(184), UINT8_C( 85), UINT8_C( 90), UINT8_C( 86), UINT8_C( 40), UINT8_C(175), UINT8_C(136),
      UINT8_C(249), UINT8_C(197), UINT8_C( 88), UINT8_C(245), UINT8_C( 77), UINT8_C(222), UINT8_C(109), UINT8_C( 68),
      UINT8_C( 30), UINT8_C(195), UINT8_C( 53), UINT8_C(  6), UINT8_C(219), UINT8_C(158), UINT8_C(198), UINT8_C(231),
      UINT8_C( 15), UINT8_C(211), UINT8_C( 51), UINT8_C(161), UINT8_C(108), UINT8_C(176), UINT8_C( 54), UINT8_C( 88),
      UINT8_C(105), UINT8_C(139), UINT8_C(178), UINT8_C(191), UINT8_C(179), UINT8_C( 97), UINT8_C( 71), UINT8_C(172),
      UINT8_C( 38), UINT8_C(159), UINT8_C(161), UINT8_C(115), UINT8_C(126), UINT8_C( 15), UINT8_C(184), UINT8_C(156),
      UINT8_C(210), UINT8_C(237), UINT8_C(163), UINT8_C(173), UINT8_C(139), UINT8_C(105), UINT8_C(148), UINT8_C(154),
      UINT8_C( 60), UINT8_C(199), UINT8_C( 59), UINT8_C(168), UINT8_C(120), UINT8_C(113), UINT8_C(  0), UINT8_C(225),
      UINT8_C(252), UINT8_C(178), UINT8_C(160), UINT8_C(175), UINT8_C( 20), UINT8_C(231), UINT8_C( 91), UINT8_C( 58),
      UINT8_C(134), UINT8_C(253), UINT8_C(174), UINT8_C(  4), UINT8_C( 12), UINT8_C(102), UINT8_C(161), UINT8_C(222),
      UINT8_C( 83), UINT8_C( 68), UINT8_C(139), UINT8_C(223), UINT8_C(173), UINT8_C( 31), UINT8_C(121), UINT8_C(233),
      UINT8_C(230), UINT8_C(181), UINT8_C(145), UINT8_C( 94), UINT8_C( 38), UINT8_C(145), UINT8_C( 63), UINT8_C( 35),
      UINT8_C( 67), UINT8_C(223), UINT8_C(210), UINT8_C( 87), UINT8_C(198), UINT8_C( 46), UINT8_C(146), UINT8_C( 77),
      UINT8_C( 43), UINT8_C( 64), UINT8_C( 81), UINT8_C( 55), UINT8_C(166), UINT8_C(242), UINT8_C( 21), UINT8_C(249),
      UINT8_C( 54), UINT8_C(160), UINT8_C(216), UINT8_C(227), UINT8_C(191), UINT8_C( 82), UINT8_C(204), UINT8_C(165),
      UINT8_C(  7), UINT8_C( 93), UINT8_C(  4), UINT8_C( 45), UINT8_C(238), UINT8_C( 67), UINT8_C( 80), UINT8_C( 50),
      UINT8_C( 35), UINT8_C( 35), UINT8_C(137), UINT8_C(233), UINT8_C( 81), UINT8_C( 27), UINT8_C( 54), UINT8_C(124),
      UINT8_C( 91), UINT8_C(136), UINT8_C(179), UINT8_C(  1), UINT8_C(122), UINT8_C(200), UINT8_C(251), UINT8_C(177),
      UINT8_C(104), UINT8_C(211), UINT8_C(148), UINT8_C( 39), UINT8_C( 37), UINT8_C( 97), UINT8_C(204), UINT8_C( 44),
      UINT8_C(190), UINT8_C(208), UINT8_C( 90), UINT8_C(173), UINT8_C( 20), UINT8_C(170), UINT8_C(223), UINT8_C( 55),
      UINT8_C(205), UINT8_C(104), UINT8_C( 32), UINT8_C( 30), UINT8_C(132), UINT8_C( 87), UINT8_C(154), UINT8_C(223),
      UINT8_C(223), UINT8_C( 77), UINT8_C(225), UINT8_C( 89), UINT8_C( 21), UINT8_C(220), UINT8_C( 10), UINT8_C(125),
      UINT8_C(175), UINT8_C(159), UINT8_C(164), UINT8_C(213), UINT8_C(  0), UINT8_C(113), UINT8_C(  1), UINT8_C(190),
      UINT8_C( 65), UINT8_C( 91), UINT8_C(107), UINT8_C( 85), UINT8_C(  6), UINT8_C( 74), UINT8_C(140), UINT8_C(211),
      UINT8_C(179), UINT8_C(173), UINT8_C(242), UINT8_C( 55), UINT8_C(  4), UINT8_C(140), UINT8_C( 22), UINT8_C(227),
      UINT8_C(218), UINT8_C(247), UINT8_C( 60), UINT8_C(239), UINT8_C(211), UINT8_C( 71), UINT8_C(109), UINT8_C(131),
      UINT8_C(230), UINT8_C( 17), UINT8_C( 88), UINT8_C(230), UINT8_C(130), UINT8_C( 89), UINT8_C(164), UINT8_C(196),
      UINT8_C(181), UINT8_C( 16), UINT8_C( 25), UINT8_C(187), UINT8_C( 90), UINT8_C(166), UINT8_C(142), UINT8_C( 13),
      UINT8_C( 83), UINT8_C(128), UINT8_C( 68), UINT8_C( 87), UINT8_C( 13), UINT8_C( 91), UINT8_C( 58), UINT8_C(231),
      UINT8_C( 82), UINT8_C(118), UINT8_C(214), UINT8_C( 38), UINT8_C(189), UINT8_C( 67), UINT8_C(169), UINT8_C(163),
      UINT8_C( 85), UINT8_C(  1), UINT8_C(137), UINT8_C(215), UINT8_C( 90), UINT8_C( 46), UINT8_C(155), UINT8_C( 15),
      UINT8_C( 62), UINT8_C(181), UINT8_C(202), UINT8_C(152), UINT8_C( 91), UINT8_C( 89), UINT8_C(166), UINT8_C(174),
      UINT8_C(217), UINT8_C(234), UINT8_C(  5), UINT8_C(230), UINT8_C( 69), UINT8_C( 63), UINT8_C(205), UINT8_C(152),
      UINT8_C(181), UINT8_C(164), UINT8_C(190), UINT8_C(115), UINT8_C(231), UINT8_C(103), UINT8_C( 22), UINT8_C( 60),
      UINT8_C(104), UINT8_C(160), UINT8_C( 20), UINT8_C(194), UINT8_C(206), UINT8_C(175), UINT8_C(210), UINT8_C( 12),
      UINT8_C(100), UINT8_C(156), UINT8_C(164), UINT8_C(191), UINT8_C(245), UINT8_C( 74), UINT8_C(109), UINT8_C(207),
      UINT8_C( 53), UINT8_C(114), UINT8_C(181), UINT8_C(122), UINT8_C(177), UINT8_C(131), UINT8_C( 18), UINT8_C(103),
      UINT8_C( 39), UINT8_C(208), UINT8_C(218), UINT8_C( 14), UINT8_C( 55), UINT8_C(240), UINT8_C( 75), UINT8_C(159),
      UINT8_C(144), UINT8_C( 95), UINT8_C( 98), UINT8_C( 94), UINT8_C( 14), UINT8_C( 52), UINT8_C(106), UINT8_C(115),
      UINT8_C(208), UINT8_C( 15), UINT8_C( 50), UINT8_C(198), UINT8_C( 89), UINT8_C(160), UINT8_C(149), UINT8_C(142),
      UINT8_C( 18), UINT8_C( 74), UINT8_C(  9), UINT8_C(196), UINT8_C(205), UINT8_C( 27), UINT8_C( 43), UINT8_C(244),
      UINT8_C(236), UINT8_C(  5), UINT8_C(  3), UINT8_C( 35), UINT8_C(245), UINT8_C( 78), UINT8_C(195), UINT8_C(134),
      UINT8_C(173), UINT8_C( 37), UINT8_C(228), UINT8_C(187), UINT8_C( 89), UINT8_C( 79), UINT8_C( 46), UINT8_C( 41),
      UINT8_C( 94), UINT8_C( 97), UINT8_C(239), UINT8_C(183), UINT8_C(  1), UINT8_C(132), UINT8_C( 70), UINT8_C( 19),
      UINT8_C(207), UINT8_C( 79), UINT8_C(215), UINT8_C(156), UINT8_C(106), UINT8_C(  2), UINT8_C(145), UINT8_C( 86),
      UINT8_C(  7), UINT8_C(148), UINT8_C(122), UINT8_C(253), UINT8_C(226), UINT8_C( 61), UINT8_C(131), UINT8_C(143),
      UINT8_C( 98), UINT8_C(103), UINT8_C( 74), UINT8_C(187), UINT8_C(182), UINT8_C(121), UINT8_C(228), UINT8_C( 20),
      UINT8_C(218), UINT8_C(212), UINT8_C(204), UINT8_C(219), UINT8_C( 88), UINT8_C( 18), UINT8_C(238), UINT8_C( 39),
      UINT8_C( 97), UINT8_C(198), UINT8_C(196), UINT8_C(203), UINT8_C(200), UINT8_C( 85), UINT8_C( 34), UINT8_C(208),
      UINT8_C(233), UINT8_C(156), UINT8_C(205), UINT8_C(203), UINT8_C(217), UINT8_C( 80), UINT8_C( 90), UINT8_C( 59),
      UINT8_C(183), UINT8_C(164), UINT8_C(246), UINT8_C(110), UINT8_C( 29), UINT8_C(218), UINT8_C(130), UINT8_C(247),
      UINT8_C(174), UINT8_C( 78), UINT8_C(210), UINT8_C(  7), UINT8_C( 96), UINT8_C(193), UINT8_C( 46), UINT8_C(193),
      UINT8_C(135), UINT8_C(242), UINT8_C(141), UINT8_C( 79), UINT8_C( 71), UINT8_C(175), UINT8_C( 31), UINT8_C( 48),
      UINT8_C( 75), UINT8_C(236), UINT8_C(251), UINT8_C( 36), UINT8_C( 60), UINT8_C( 85), UINT8_C( 95), UINT8_C(244),
      UINT8_C(250), UINT8_C( 85), UINT8_C( 98), UINT8_C( 23), UINT8_C( 47), UINT8_C(228), UINT8_C( 15), UINT8_C(222),
      UINT8_C( 51), UINT8_C(225), UINT8_C(229), UINT8_C(147), UINT8_C(162), UINT8_C( 19), UINT8_C( 85), UINT8_C( 41),
      UINT8_C(  6), UINT8_C(226), UINT8_C(121), UINT8_C( 77), UINT8_C(145), UINT8_C(152), UINT8_C(126), UINT8_C(220),
      UINT8_C(133), UINT8_C(121), UINT8_C(  0), UINT8_C(193), UINT8_C(207), UINT8_C( 95), UINT8_C(181), UINT8_C(201),
      UINT8_C(180), UINT8_C( 23), UINT8_C(224), UINT8_C(227), UINT8_C(252), UINT8_C(239), UINT8_C(193), UINT8_C( 47),
      UINT8_C(209), UINT8_C(166), UINT8_C(194), UINT8_C(115), UINT8_C(186), UINT8_C( 23), UINT8_C(157), UINT8_C(192),
      UINT8_C(249), UINT8_C( 22), UINT8_C( 13), UINT8_C(138), UINT8_C(174), UINT8_C(139), UINT8_C(102), UINT8_C( 51),
      UINT8_C(  5), UINT8_C(102), UINT8_C(245), UINT8_C(212), UINT8_C(197), UINT8_C(170), UINT8_C(157), UINT8_C(121),
      UINT8_C(194), UINT8_C(125), UINT8_C( 93), UINT8_C(190), UINT8_C(109), UINT8_C( 30), UINT8_C(237), UINT8_C( 62),
      UINT8_C(197), UINT8_C(175), UINT8_C(177), UINT8_C(127), UINT8_C(199), UINT8_C( 78), UINT8_C( 63), UINT8_C(192),
      UINT8_C(100), UINT8_C( 76), UINT8_C( 75), UINT8_C( 19), UINT8_C(216), UINT8_C(177), UINT8_C( 70), UINT8_C(221),
      UINT8_C( 24), UINT8_C( 59), UINT8_C(177), UINT8_C(221), UINT8_C(230), UINT8_C( 78), UINT8_C( 87), UINT8_C(168),
      UINT8_C(203), UINT8_C(180), UINT8_C(102), UINT8_C( 56), UINT8_C(210), UINT8_C( 83), UINT8_C(118), UINT8_C(151),
      UINT8_C(  2), UINT8_C( 40), UINT8_C( 22), UINT8_C(201), UINT8_C(118), UINT8_C( 85), UINT8_C(138), UINT8_C(219),
      UINT8_C(162), UINT8_C(213), UINT8_C(238), UINT8_C(122), UINT8_C(134), UINT8_C( 52), UINT8_C( 87), UINT8_C(158),
      UINT8_C(112), UINT8_C(  8), UINT8_C(124), UINT8_C( 86), UINT8_C( 86), UINT8_C(211), UINT8_C(254), UINT8_C( 33),
      UINT8_C(135), UINT8_C(100), UINT8_C( 90), UINT8_C( 89), UINT8_C(183), UINT8_C(208), UINT8_C(241), UINT8_C(185),
      UINT8_C(248), UINT8_C(  7), UINT8_C(131), UINT8_C(111), UINT8_C( 93), UINT8_C( 13), UINT8_C( 74),    UINT8_MAX,
      UINT8_C(226), UINT8_C( 56), UINT8_C(121), UINT8_C(104), UINT8_C(108), UINT8_C(208), UINT8_C(  7), UINT8_C(220),
      UINT8_C(216), UINT8_C(131) };
  static const uint8_t b[] =
    { UINT8_C(124), UINT8_C(161), UINT8_C(181), UINT8_C( 17), UINT8_C(204), UINT8_C( 64), UINT8_C(136), UINT8_C( 48),
      UINT8_C( 68), UINT8_C(104), UINT8_C(  0), UINT8_C( 24), UINT8_C( 78), UINT8_C(172), UINT8_C(196), UINT8_C(184),
      UINT8_C(139), UINT8_C(158), UINT8_C(119), UINT8_C(155), UINT8_C(200), UINT8_C( 20), UINT8_C( 63), UINT8_C(155),
      UINT8_C(231), UINT8_C( 46), UINT8_C(232), UINT8_C(225), UINT8_C( 35), UINT8_C(167), UINT8_C( 11), UINT8_C(159),
      UINT8_C( 72), UINT8_C(192), UINT8_C(177), UINT8_C( 21), UINT8_C(  1), UINT8_C( 57), UINT8_C( 69), UINT8_C( 69),
      UINT8_C(161), UINT8_C( 69), UINT8_C( 94), UINT8_C(240), UINT8_C(241), UINT8_C( 34), UINT8_C(168), UINT8_C(125),
      UINT8_C(193), UINT8_C( 31), UINT8_C( 24), UINT8_C(137), UINT8_C( 51), UINT8_C( 87), UINT8_C( 36), UINT8_C( 26),
      UINT8_C(133), UINT8_C( 12), UINT8_C(252), UINT8_C(168), UINT8_C(179), UINT8_C(  7), UINT8_C( 72), UINT8_C(252),
      UINT8_C(199), UINT8_C(249), UINT8_C( 17), UINT8_C(200), UINT8_C( 50), UINT8_C( 86), UINT8_C( 14), UINT8_C(212),
      UINT8_C(155), UINT8_C(108), UINT8_C(196), UINT8_C(140), UINT8_C(142), UINT8_C(108), UINT8_C(  9), UINT8_C( 79),
      UINT8_C(139), UINT8_C( 33), UINT8_C(216), UINT8_C(191), UINT8_C(120), UINT8_C(252), UINT8_C(217), UINT8_C(254),
      UINT8_C(  8), UINT8_C(213), UINT8_C(166), UINT8_C(188), UINT8_C(220), UINT8_C(238), UINT8_C(184), UINT8_C(164),
      UINT8_C(231), UINT8_C(201), UINT8_C(108), UINT8_C( 26), UINT8_C( 31), UINT8_C(122), UINT8_C(238), UINT8_C(186),
      UINT8_C(230), UINT8_C(178), UINT8_C( 70), UINT8_C(117), UINT8_C( 30), UINT8_C( 80), UINT8_C(196), UINT8_C(169),
      UINT8_C(113), UINT8_C(157), UINT8_C(104), UINT8_C(234), UINT8_C(153), UINT8_C( 66), UINT8_C(232), UINT8_C(162),
      UINT8_C( 23), UINT8_C(142), UINT8_C( 94), UINT8_C(244), UINT8_C(125), UINT8_C( 22), UINT8_C(152), UINT8_C(100),
      UINT8_C(223), UINT8_C(  4), UINT8_C(126), UINT8_C(254), UINT8_C(127), UINT8_C(108), UINT8_C(184), UINT8_C(101),
      UINT8_C( 30), UINT8_C(254), UINT8_C(218), UINT8_C( 60), UINT8_C( 78), UINT8_C(159), UINT8_C(230), UINT8_C(192),
      UINT8_C( 60), UINT8_C( 78), UINT8_C(170), UINT8_C(213), UINT8_C(144), UINT8_C(146), UINT8_C(119), UINT8_C(168),
      UINT8_C( 32), UINT8_C(213), UINT8_C(156), UINT8_C(157), UINT8_C(235), UINT8_C( 52), UINT8_C(  2), UINT8_C(202),
      UINT8_C( 56), UINT8_C(128), UINT8_C(200), UINT8_C(183), UINT8_C(237), UINT8_C(128), UINT8_C( 29), UINT8_C( 11),
      UINT8_C(127), UINT8_C(247), UINT8_C( 72), UINT8_C(205), UINT8_C(150), UINT8_C( 46), UINT8_C(141), UINT8_C(210),
      UINT8_C(124), UINT8_C( 55), UINT8_C(168), UINT8_C( 13), UINT8_C(201), UINT8_C( 31), UINT8_C(181), UINT8_C(234),
      UINT8_C(245), UINT8_C( 81), UINT8_C(135), UINT8_C(224), UINT8_C(133), UINT8_C(137), UINT8_C(171), UINT8_C(189),
      UINT8_C( 10), UINT8_C(115), UINT8_C(117), UINT8_C(247), UINT8_C(244), UINT8_C(146), UINT8_C(  2), UINT8_C(115),
      UINT8_C(137), UINT8_C( 74), UINT8_C( 64), UINT8_C( 32), UINT8_C(120), UINT8_C(206), UINT8_C(242), UINT8_C(245),
      UINT8_C(  5), UINT8_C(154), UINT8_C(  2), UINT8_C(207), UINT8_C(186), UINT8_C(183), UINT8_C(185), UINT8_C(175),
      UINT8_C(  8), UINT8_C( 64), UINT8_C(143), UINT8_C(141), UINT8_C(202), UINT8_C( 58), UINT8_C( 74), UINT8_C(212),
      UINT8_C(174), UINT8_C(191), UINT8_C(203), UINT8_C(162), UINT8_C( 81), UINT8_C(205), UINT8_C( 21), UINT8_C(219),
      UINT8_C( 24), UINT8_C( 85), UINT8_C(251), UINT8_C(144), UINT8_C( 35), UINT8_C(237), UINT8_C(133), UINT8_C( 41),
      UINT8_C(136), UINT8_C(135), UINT8_C(248), UINT8_C( 66), UINT8_C( 62), UINT8_C(177), UINT8_C(241), UINT8_C( 70),
      UINT8_C(241), UINT8_C(128), UINT8_C(211), UINT8_C(187), UINT8_C(187), UINT8_C( 30), UINT8_C(143), UINT8_C(105),
      UINT8_C(221), UINT8_C( 90), UINT8_C( 11), UINT8_C( 47), UINT8_C( 40), UINT8_C( 32), UINT8_C( 10), UINT8_C( 64),
      UINT8_C(117), UINT8_C(  5), UINT8_C(208), UINT8_C(153), UINT8_C(242), UINT8_C( 86), UINT8_C(194), UINT8_C(122),
      UINT8_C(221), UINT8_C(186), UINT8_C(188), UINT8_C( 28), UINT8_C(107), UINT8_C(173), UINT8_C( 98), UINT8_C( 92),
      UINT8_C( 46), UINT8_C( 54), UINT8_C( 24), UINT8_C(233), UINT8_C( 84), UINT8_C(167), UINT8_C( 82), UINT8_C( 49),
      UINT8_C(  2), UINT8_C( 93), UINT8_C( 96), UINT8_C( 42), UINT8_C(125), UINT8_C(106), UINT8_C(106), UINT8_C(242),
      UINT8_C(111), UINT8_C( 58), UINT8_C(139), UINT8_C( 98), UINT8_C(144), UINT8_C( 77), UINT8_C(220), UINT8_C(110),
      UINT8_C(  7), UINT8_C(153), UINT8_C(138), UINT8_C(114), UINT8_C( 70), UINT8_C(236), UINT8_C(207), UINT8_C(116),
      UINT8_C( 34), UINT8_C(231), UINT8_C( 93), UINT8_C(118), UINT8_C(142), UINT8_C(175), UINT8_C(168), UINT8_C(144),
      UINT8_C( 12), UINT8_C(  8), UINT8_C(186), UINT8_C(137), UINT8_C(115), UINT8_C( 36), UINT8_C(124), UINT8_C(226),
      UINT8_C( 95), UINT8_C(  7), UINT8_C( 68), UINT8_C(239), UINT8_C( 85), UINT8_C( 33), UINT8_C( 93), UINT8_C( 92),
      UINT8_C(186), UINT8_C(231), UINT8_C(207), UINT8_C(  0), UINT8_C(212), UINT8_C(158), UINT8_C(117), UINT8_C(246),
      UINT8_C(133), UINT8_C(210), UINT8_C(109), UINT8_C( 19), UINT8_C(130), UINT8_C( 21), UINT8_C(164), UINT8_C(142),
      UINT8_C( 29), UINT8_C( 94), UINT8_C( 24), UINT8_C(144), UINT8_C(131), UINT8_C(148), UINT8_C(115), UINT8_C(226),
      UINT8_C(155), UINT8_C(183), UINT8_C(209), UINT8_C(240), UINT8_C(216), UINT8_C( 47), UINT8_C( 77), UINT8_C(146),
      UINT8_C( 22), UINT8_C( 28), UINT8_C(147), UINT8_C(234), UINT8_C(186), UINT8_C(  8), UINT8_C(225), UINT8_C( 63),
      UINT8_C(218), UINT8_C( 78), UINT8_C( 82), UINT8_C( 92), UINT8_C( 99), UINT8_C(246), UINT8_C(235), UINT8_C(128),
      UINT8_C( 85), UINT8_C(  3), UINT8_C( 17), UINT8_C(216), UINT8_C(151), UINT8_C(132), UINT8_C(186), UINT8_C( 50),
      UINT8_C( 59), UINT8_C(139), UINT8_C( 35), UINT8_C( 20), UINT8_C(186), UINT8_C(112), UINT8_C(166), UINT8_C(209),
      UINT8_C(140), UINT8_C( 57), UINT8_C(187), UINT8_C( 70), UINT8_C( 65), UINT8_C(156), UINT8_C(133), UINT8_C( 28),
      UINT8_C(234), UINT8_C(215), UINT8_C(120), UINT8_C( 77), UINT8_C(206), UINT8_C( 99), UINT8_C(206), UINT8_C( 35),
      UINT8_C(102), UINT8_C(223), UINT8_C(251), UINT8_C(253), UINT8_C( 99), UINT8_C(181), UINT8_C( 48), UINT8_C(158),
      UINT8_C( 64), UINT8_C( 83), UINT8_C(178), UINT8_C(251), UINT8_C(195), UINT8_C( 89), UINT8_C(204), UINT8_C( 79),
      UINT8_C(146), UINT8_C(135), UINT8_C(149), UINT8_C(212), UINT8_C( 36), UINT8_C( 26), UINT8_C(240), UINT8_C( 14),
      UINT8_C(241), UINT8_C(104), UINT8_C( 92), UINT8_C(191), UINT8_C(204), UINT8_C( 42), UINT8_C(226), UINT8_C( 50),
      UINT8_C(  9), UINT8_C(221), UINT8_C( 48), UINT8_C(108), UINT8_C(146), UINT8_C( 96), UINT8_C( 10), UINT8_C(211),
      UINT8_C(179), UINT8_C(189), UINT8_C(206), UINT8_C(118), UINT8_C( 22), UINT8_C(154), UINT8_C(197), UINT8_C(168),
      UINT8_C( 33), UINT8_C( 90), UINT8_C(124), UINT8_C( 69), UINT8_C(116), UINT8_C(108), UINT8_C( 84), UINT8_C(101),
      UINT8_C(213), UINT8_C(176), UINT8_C( 37), UINT8_C(161), UINT8_C(218), UINT8_C(  7), UINT8_C(211), UINT8_C(227),
      UINT8_C(229), UINT8_C(  3), UINT8_C( 79), UINT8_C(119), UINT8_C( 99), UINT8_C( 89), UINT8_C( 74), UINT8_C( 22),
      UINT8_C( 22), UINT8_C( 24), UINT8_C(140), UINT8_C( 44), UINT8_C(178), UINT8_C( 81), UINT8_C(213), UINT8_C(212),
      UINT8_C(171), UINT8_C( 81), UINT8_C( 25), UINT8_C( 31), UINT8_C(190), UINT8_C(109), UINT8_C(133), UINT8_C(147),
      UINT8_C( 29), UINT8_C(170), UINT8_C( 52), UINT8_C(247), UINT8_C(177), UINT8_C(  7), UINT8_C(218), UINT8_C(150),
      UINT8_C( 11), UINT8_C( 41), UINT8_C( 14), UINT8_C(110), UINT8_C(131), UINT8_C( 88), UINT8_C(133), UINT8_C(153),
      UINT8_C(113), UINT8_C( 17), UINT8_C(198), UINT8_C( 35), UINT8_C( 99), UINT8_C(155), UINT8_C(247), UINT8_C( 14),
      UINT8_C(236), UINT8_C( 17), UINT8_C( 46), UINT8_C(170), UINT8_C(126), UINT8_C(179), UINT8_C( 61), UINT8_C(156),
      UINT8_C( 93), UINT8_C(113), UINT8_C(147), UINT8_C( 14), UINT8_C(121), UINT8_C(110), UINT8_C(165), UINT8_C(132),
      UINT8_C(151), UINT8_C(179), UINT8_C(242), UINT8_C( 26), UINT8_C( 11), UINT8_C(119), UINT8_C(180), UINT8_C(124),
      UINT8_C(137), UINT8_C(122), UINT8_C(160), UINT8_C(236), UINT8_C( 21), UINT8_C(151), UINT8_C(250), UINT8_C(  1),
      UINT8_C(168), UINT8_C( 40), UINT8_C(172), UINT8_C( 39), UINT8_C(219), UINT8_C(233), UINT8_C(195), UINT8_C( 56),
      UINT8_C( 91), UINT8_C( 86), UINT8_C( 71), UINT8_C(212), UINT8_C(196), UINT8_C(236), UINT8_C( 88), UINT8_C( 92),
      UINT8_C(159), UINT8_C( 74), UINT8_C(118), UINT8_C(170), UINT8_C(194), UINT8_C( 42), UINT8_C( 39), UINT8_C( 75),
      UINT8_C(164), UINT8_C(199), UINT8_C( 55), UINT8_C(185), UINT8_C( 94), UINT8_C( 49), UINT8_C(187), UINT8_C(  7),
      UINT8_C( 90), UINT8_C(103), UINT8_C( 46), UINT8_C( 53), UINT8_C( 80), UINT8_C(241), UINT8_C(110), UINT8_C(171),
      UINT8_C( 71), UINT8_C(181), UINT8_C(127), UINT8_C( 12), UINT8_C(161), UINT8_C(215), UINT8_C(104), UINT8_C( 64),
      UINT8_C( 34), UINT8_C(222), UINT8_C(234), UINT8_C(228), UINT8_C(  9), UINT8_C( 17), UINT8_C( 47), UINT8_C(173),
      UINT8_C(216), UINT8_C(102), UINT8_C(103), UINT8_C( 55), UINT8_C(151), UINT8_C( 34), UINT8_C( 62), UINT8_C(241),
      UINT8_C(137), UINT8_C(108), UINT8_C( 39), UINT8_C(217), UINT8_C( 93), UINT8_C(149), UINT8_C(133), UINT8_C(164),
      UINT8_C( 74), UINT8_C(  4), UINT8_C(176), UINT8_C(235), UINT8_C(220), UINT8_C( 24), UINT8_C( 43), UINT8_C(254),
      UINT8_C(247), UINT8_C( 21), UINT8_C(226), UINT8_C(  0), UINT8_C( 39), UINT8_C( 17), UINT8_C(173),    UINT8_MAX,
      UINT8_C(119), UINT8_C( 20), UINT8_C( 54), UINT8_C( 14), UINT8_C( 54), UINT8_C(116), UINT8_C(  0), UINT8_C(191),
      UINT8_C(224), UINT8_C( 39), UINT8_C(153), UINT8_C( 61), UINT8_C(188), UINT8_C( 30), UINT8_C(226), UINT8_C(  6),
      UINT8_C( 34), UINT8_C(146), UINT8_C(241), UINT8_C(254), UINT8_C(171), UINT8_C( 28), UINT8_C(252), UINT8_C(162),
      UINT8_C( 49), UINT8_C(222), UINT8_C(162), UINT8_C( 88), UINT8_C(239), UINT8_C( 79), UINT8_C( 88), UINT8_C(102),
      UINT8_C(100), UINT8_C(142), UINT8_C(117), UINT8_C(154), UINT8_C(  3), UINT8_C(117), UINT8_C( 90), UINT8_C(227),
      UINT8_C(156), UINT8_C(243), UINT8_C( 33), UINT8_C( 88), UINT8_C( 17), UINT8_C(  3), UINT8_C( 94), UINT8_C( 51),
      UINT8_C(149), UINT8_C( 79), UINT8_C( 50), UINT8_C( 64), UINT8_C(107), UINT8_C( 46), UINT8_C(226), UINT8_C(156),
      UINT8_C( 13), UINT8_C(132), UINT8_C(245), UINT8_C(252), UINT8_C(212), UINT8_C( 77), UINT8_C( 99), UINT8_C( 56),
      UINT8_C(219), UINT8_C(216), UINT8_C(210), UINT8_C(222), UINT8_C( 77), UINT8_C( 44), UINT8_C(194), UINT8_C(233),
      UINT8_C( 31), UINT8_C(227), UINT8_C( 65), UINT8_C( 48), UINT8_C(230), UINT8_C(159), UINT8_C(100), UINT8_C(123),
      UINT8_C(238), UINT8_C(150), UINT8_C(188), UINT8_C( 89), UINT8_C(196), UINT8_C(158), UINT8_C(245), UINT8_C(209),
      UINT8_C( 35), UINT8_C(234), UINT8_C(206), UINT8_C(247), UINT8_C( 55), UINT8_C( 49), UINT8_C( 47), UINT8_C( 19),
      UINT8_C(  9), UINT8_C(  1), UINT8_C(241), UINT8_C( 86), UINT8_C( 46), UINT8_C(179), UINT8_C( 63), UINT8_C( 77),
      UINT8_C(150), UINT8_C(128), UINT8_C(126), UINT8_C(124), UINT8_C( 31), UINT8_C(226), UINT8_C(248), UINT8_C( 13),
      UINT8_C(120), UINT8_C(180), UINT8_C(102), UINT8_C( 60), UINT8_C( 82), UINT8_C( 91), UINT8_C( 14), UINT8_C(117),
      UINT8_C( 70), UINT8_C(220), UINT8_C(108), UINT8_C(125), UINT8_C( 13), UINT8_C(155), UINT8_C(144), UINT8_C( 22),
      UINT8_C(157), UINT8_C(130), UINT8_C(108), UINT8_C(203), UINT8_C( 53), UINT8_C(171), UINT8_C( 24), UINT8_C(204),
      UINT8_C( 43), UINT8_C(150), UINT8_C( 72), UINT8_C( 74), UINT8_C(120), UINT8_C( 64), UINT8_C( 87), UINT8_C(240),
      UINT8_C(244), UINT8_C(189), UINT8_C( 45), UINT8_C( 71), UINT8_C( 24), UINT8_C( 59), UINT8_C(188), UINT8_C( 94),
      UINT8_C( 23), UINT8_C( 41), UINT8_C(220), UINT8_C( 36), UINT8_C(196), UINT8_C(108), UINT8_C( 58), UINT8_C( 97),
      UINT8_C(238), UINT8_C(166), UINT8_C( 44), UINT8_C( 36), UINT8_C( 81), UINT8_C( 69), UINT8_C(240), UINT8_C(124),
      UINT8_C(219), UINT8_C( 56), UINT8_C(198), UINT8_C( 84), UINT8_C(121), UINT8_C( 29), UINT8_C( 68), UINT8_C(109),
      UINT8_C(218), UINT8_C(113), UINT8_C(180), UINT8_C(242), UINT8_C(172), UINT8_C(113), UINT8_C( 81), UINT8_C(195),
      UINT8_C(154), UINT8_C( 45), UINT8_C(231), UINT8_C( 94), UINT8_C(153), UINT8_C( 33), UINT8_C(192), UINT8_C(136),
      UINT8_C(199), UINT8_C(236), UINT8_C(172), UINT8_C( 24), UINT8_C( 49), UINT8_C(156), UINT8_C(148), UINT8_C( 13),
      UINT8_C(212), UINT8_C( 90), UINT8_C( 97), UINT8_C( 77), UINT8_C(119), UINT8_C(165), UINT8_C(187), UINT8_C( 81),
      UINT8_C( 23), UINT8_C(111), UINT8_C( 68), UINT8_C(195), UINT8_C(224), UINT8_C(149), UINT8_C(135), UINT8_C(122),
      UINT8_C(194), UINT8_C(110), UINT8_C(217), UINT8_C( 91), UINT8_C(144), UINT8_C(153), UINT8_C(227), UINT8_C( 87),
      UINT8_C(133), UINT8_C(143), UINT8_C(112), UINT8_C(183), UINT8_C( 43), UINT8_C(  4), UINT8_C(196), UINT8_C(  0),
      UINT8_C( 95), UINT8_C( 37), UINT8_C( 77), UINT8_C(214), UINT8_C(202), UINT8_C(  8), UINT8_C( 40), UINT8_C(225),
      UINT8_C(120), UINT8_C(108), UINT8_C(165), UINT8_C( 88), UINT8_C(  1), UINT8_C( 44), UINT8_C(211), UINT8_C(195),
      UINT8_C(154), UINT8_C(172), UINT8_C( 30), UINT8_C( 42), UINT8_C( 69), UINT8_C(  2), UINT8_C(130), UINT8_C(202),
      UINT8_C(145), UINT8_C(242), UINT8_C(129), UINT8_C(189), UINT8_C(246), UINT8_C( 69), UINT8_C(189), UINT8_C( 85),
      UINT8_C(106), UINT8_C( 10), UINT8_C( 44), UINT8_C( 53), UINT8_C( 19), UINT8_C( 84), UINT8_C( 22), UINT8_C(139),
      UINT8_C(192), UINT8_C(187), UINT8_C(227), UINT8_C(193), UINT8_C(231), UINT8_C(182), UINT8_C(132), UINT8_C(130),
      UINT8_C( 98), UINT8_C(162), UINT8_C(172), UINT8_C(167), UINT8_C(164), UINT8_C( 46), UINT8_C(114), UINT8_C( 54),
      UINT8_C( 32), UINT8_C(243), UINT8_C(243), UINT8_C( 23), UINT8_C( 57), UINT8_C(176), UINT8_C(108), UINT8_C(163),
      UINT8_C(186), UINT8_C(152), UINT8_C(216), UINT8_C(205), UINT8_C(236), UINT8_C(239), UINT8_C( 88), UINT8_C(172),
      UINT8_C(170), UINT8_C( 60), UINT8_C(109), UINT8_C(146), UINT8_C(242), UINT8_C(241), UINT8_C( 20), UINT8_C( 85),
      UINT8_C(148), UINT8_C(192), UINT8_C(252), UINT8_C( 56), UINT8_C(239), UINT8_C(110), UINT8_C(110), UINT8_C( 15),
      UINT8_C( 98), UINT8_C( 97), UINT8_C( 38), UINT8_C(155), UINT8_C( 17), UINT8_C(147), UINT8_C( 62), UINT8_C(204),
      UINT8_C( 43), UINT8_C( 23) };
  static const uint8_t e[] =
    { UINT8_C(150),    UINT8_MAX,    UINT8_MAX, UINT8_C(216),    UINT8_MAX,    UINT8_MAX, UINT8_C(188), UINT8_C(160),
      UINT8_C(240), UINT8_C(140), UINT8_C(186), UINT8_C( 46), UINT8_C( 94),    UINT8_MAX,    UINT8_MAX, UINT8_C(218),
         UINT8_MAX,    UINT8_MAX, UINT8_C(238),    UINT8_MAX,    UINT8_MAX, UINT8_C(121),    UINT8_MAX,    UINT8_MAX,
         UINT8_MAX, UINT8_C(165),    UINT8_MAX,    UINT8_MAX, UINT8_C( 59),    UINT8_MAX, UINT8_C( 11), UINT8_C(209),
      UINT8_C(181),    UINT8_MAX,    UINT8_MAX, UINT8_C(246), UINT8_C(156), UINT8_C(102), UINT8_C(150), UINT8_C(140),
      UINT8_C(242), UINT8_C( 81), UINT8_C(187),    UINT8_MAX,    UINT8_MAX, UINT8_C(246),    UINT8_MAX, UINT8_C(206),
         UINT8_MAX,    UINT8_MAX, UINT8_C( 38), UINT8_C(160), UINT8_C(147), UINT8_C( 97), UINT8_C(245), UINT8_C(252),
         UINT8_MAX, UINT8_C( 98),    UINT8_MAX,    UINT8_MAX, UINT8_C(207), UINT8_C( 62),    UINT8_MAX,    UINT8_MAX,
         UINT8_MAX,    UINT8_MAX, UINT8_C(123),    UINT8_MAX,    UINT8_MAX,    UINT8_MAX, UINT8_C(230),    UINT8_MAX,
         UINT8_MAX, UINT8_C(161),    UINT8_MAX,    UINT8_MAX, UINT8_C(151), UINT8_C(147), UINT8_C(233),    UINT8_MAX,
      UINT8_C(173),    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,
         UINT8_MAX,    UINT8_MAX, UINT8_C(184), UINT8_C(213),    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,
         UINT8_MAX, UINT8_C(213), UINT8_C(197), UINT8_C(172), UINT8_C(230), UINT8_C(171),    UINT8_MAX,    UINT8_MAX,
         UINT8_MAX,    UINT8_MAX, UINT8_C( 99), UINT8_C(228), UINT8_C(190),    UINT8_MAX, UINT8_C(242),    UINT8_MAX,
         UINT8_MAX, UINT8_C(160), UINT8_C(172),    UINT8_MAX,    UINT8_MAX, UINT8_C(235),    UINT8_MAX,    UINT8_MAX,
      UINT8_C( 91), UINT8_C(254),    UINT8_MAX,    UINT8_MAX, UINT8_C(203), UINT8_C(120),    UINT8_MAX,    UINT8_MAX,
         UINT8_MAX, UINT8_C( 61),    UINT8_MAX,    UINT8_MAX, UINT8_C(233), UINT8_C(195),    UINT8_MAX,    UINT8_MAX,
      UINT8_C(238),    UINT8_MAX,    UINT8_MAX, UINT8_C(172),    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,
      UINT8_C(174), UINT8_C(197),    UINT8_MAX, UINT8_C(241), UINT8_C(176), UINT8_C(160),    UINT8_MAX,    UINT8_MAX,
      UINT8_C(158),    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX, UINT8_C(143), UINT8_C(190),    UINT8_MAX,
      UINT8_C(204), UINT8_C(190),    UINT8_MAX,    UINT8_MAX,    UINT8_MAX, UINT8_C(205), UINT8_C(237), UINT8_C(112),
      UINT8_C(174),    UINT8_MAX,    UINT8_MAX, UINT8_C(219),    UINT8_MAX, UINT8_C( 54),    UINT8_MAX,    UINT8_MAX,
      UINT8_C(252), UINT8_C(193), UINT8_C(181), UINT8_C(173),    UINT8_MAX, UINT8_C(239), UINT8_C(186),    UINT8_MAX,
         UINT8_MAX, UINT8_C(210),    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,
      UINT8_C(231), UINT8_C(134), UINT8_C(229),    UINT8_MAX,    UINT8_MAX, UINT8_C(210), UINT8_C(217),    UINT8_MAX,
      UINT8_C(218), UINT8_C(246), UINT8_C(222), UINT8_C(240),    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,
      UINT8_C(  7),    UINT8_MAX, UINT8_C(215),    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,
      UINT8_C(100), UINT8_C(211), UINT8_C(184), UINT8_C(198), UINT8_C(252), UINT8_C(238), UINT8_C(245), UINT8_C(227),
         UINT8_MAX, UINT8_C(218),    UINT8_MAX, UINT8_C(202), UINT8_C(173),    UINT8_MAX, UINT8_C(204),    UINT8_MAX,
      UINT8_C( 29), UINT8_C(170),    UINT8_MAX,    UINT8_MAX, UINT8_C(240),    UINT8_MAX,    UINT8_MAX, UINT8_C(248),
      UINT8_C(148),    UINT8_MAX,    UINT8_MAX, UINT8_C(236), UINT8_C(221), UINT8_C(203),    UINT8_MAX,    UINT8_MAX,
         UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX, UINT8_C(254),    UINT8_MAX, UINT8_C(168),
         UINT8_MAX, UINT8_C(203), UINT8_C(114), UINT8_C(135), UINT8_C(241), UINT8_C( 63), UINT8_C( 15),    UINT8_MAX,
      UINT8_C(233), UINT8_C(135),    UINT8_MAX, UINT8_C(219),    UINT8_MAX, UINT8_C(205), UINT8_C(211),    UINT8_MAX,
         UINT8_MAX,    UINT8_MAX,    UINT8_MAX, UINT8_C(247),    UINT8_MAX, UINT8_C(190),    UINT8_MAX, UINT8_C(158),
         UINT8_MAX, UINT8_C( 67), UINT8_C( 58),    UINT8_MAX,    UINT8_MAX, UINT8_C(185), UINT8_C(222),    UINT8_MAX,
      UINT8_C(133),    UINT8_MAX, UINT8_C(161), UINT8_C(118), UINT8_C(144), UINT8_C(176), UINT8_C(133),    UINT8_MAX,
         UINT8_MAX, UINT8_C(221),    UINT8_MAX, UINT8_C(234), UINT8_C(171),    UINT8_MAX,    UINT8_MAX, UINT8_C(197),
      UINT8_C( 93),    UINT8_MAX, UINT8_C(188),    UINT8_MAX,    UINT8_MAX, UINT8_C(246), UINT8_C(252),    UINT8_MAX,
      UINT8_C( 57),    UINT8_MAX,    UINT8_MAX, UINT8_C(122), UINT8_C(240),    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,
      UINT8_C(138), UINT8_C( 55), UINT8_C(235),    UINT8_MAX, UINT8_C(233), UINT8_C(112), UINT8_C(148),    UINT8_MAX,
         UINT8_MAX, UINT8_C(233),    UINT8_MAX, UINT8_C(250),    UINT8_MAX, UINT8_C( 60), UINT8_C(191), UINT8_C(111),
         UINT8_MAX,    UINT8_MAX,    UINT8_MAX, UINT8_C(193),    UINT8_MAX, UINT8_C(201), UINT8_C(231),    UINT8_MAX,
         UINT8_MAX,    UINT8_MAX,    UINT8_MAX, UINT8_C(240),    UINT8_MAX, UINT8_C(189),    UINT8_MAX,    UINT8_MAX,
      UINT8_C(244),    UINT8_MAX, UINT8_C( 32), UINT8_C(221), UINT8_C(195), UINT8_C(181),    UINT8_MAX,    UINT8_MAX,
      UINT8_C(158),    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX, UINT8_C(204),    UINT8_MAX, UINT8_C(230),
      UINT8_C( 72), UINT8_C(237), UINT8_C(169),    UINT8_MAX,    UINT8_MAX, UINT8_C(144),    UINT8_MAX, UINT8_C(183),
         UINT8_MAX, UINT8_C(142), UINT8_C(167),    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,
      UINT8_C( 97), UINT8_C(116), UINT8_C( 30),    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX, UINT8_C(199),
         UINT8_MAX,    UINT8_MAX, UINT8_C(120), UINT8_C(110),    UINT8_MAX, UINT8_C(152),    UINT8_MAX,    UINT8_MAX,
         UINT8_MAX, UINT8_C(254),    UINT8_MAX,    UINT8_MAX, UINT8_C(142),    UINT8_MAX, UINT8_C(242), UINT8_C( 96),
         UINT8_MAX,    UINT8_MAX, UINT8_C(173), UINT8_C( 83),    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,
      UINT8_C(117),    UINT8_MAX,    UINT8_MAX,    UINT8_MAX, UINT8_C(207),    UINT8_MAX, UINT8_C(102), UINT8_C(246),
      UINT8_C(169), UINT8_C(222),    UINT8_MAX,    UINT8_MAX,    UINT8_MAX, UINT8_C(186),    UINT8_MAX, UINT8_C(251),
      UINT8_C(184),    UINT8_MAX,    UINT8_MAX,    UINT8_MAX, UINT8_C(162), UINT8_C( 41),    UINT8_MAX, UINT8_C(170),
         UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX, UINT8_C(147),    UINT8_MAX, UINT8_C(204),
      UINT8_C( 69),    UINT8_MAX, UINT8_C(107),    UINT8_MAX,    UINT8_MAX, UINT8_C(209), UINT8_C( 10),    UINT8_MAX,
         UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX, UINT8_C( 42),    UINT8_MAX,    UINT8_MAX, UINT8_C(226),
      UINT8_C(167),    UINT8_MAX,    UINT8_MAX, UINT8_C( 73), UINT8_C(128), UINT8_C(210), UINT8_C(245),    UINT8_MAX,
         UINT8_MAX, UINT8_C(244), UINT8_C(176),    UINT8_MAX,    UINT8_MAX, UINT8_C( 38),    UINT8_MAX,    UINT8_MAX,
         UINT8_MAX, UINT8_C(184), UINT8_C(224), UINT8_C(213), UINT8_C(137), UINT8_C(234), UINT8_C(137), UINT8_C( 57),
      UINT8_C( 89), UINT8_C(247),    UINT8_MAX, UINT8_C(131),    UINT8_MAX, UINT8_C(127),    UINT8_MAX,    UINT8_MAX,
      UINT8_C(214), UINT8_C(145), UINT8_C(106), UINT8_C( 86),    UINT8_MAX,    UINT8_MAX, UINT8_C(154),    UINT8_MAX,
      UINT8_C( 83),    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX, UINT8_C( 89),    UINT8_MAX,    UINT8_MAX,
      UINT8_C( 18), UINT8_C(134), UINT8_C( 18), UINT8_C(155),    UINT8_MAX, UINT8_C(155), UINT8_C(213), UINT8_C(203),
      UINT8_C(148), UINT8_C( 52),    UINT8_MAX,    UINT8_MAX, UINT8_C(180), UINT8_C(182),    UINT8_MAX, UINT8_C(138),
         UINT8_MAX, UINT8_C(153), UINT8_C(225), UINT8_C(171), UINT8_C(248),    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,
      UINT8_C(197),    UINT8_MAX,    UINT8_MAX, UINT8_C( 53), UINT8_C(158), UINT8_C(207),    UINT8_MAX, UINT8_C(176),
         UINT8_MAX,    UINT8_MAX,    UINT8_MAX, UINT8_C(199), UINT8_C( 31),    UINT8_MAX,    UINT8_MAX, UINT8_C(179),
         UINT8_MAX, UINT8_C(226), UINT8_C(192),    UINT8_MAX, UINT8_C(153), UINT8_C(238),    UINT8_MAX, UINT8_C(224),
         UINT8_MAX, UINT8_C(117),    UINT8_MAX, UINT8_C(128), UINT8_C(240),    UINT8_MAX, UINT8_C(205), UINT8_C(181),
         UINT8_MAX, UINT8_C(245), UINT8_C(235),    UINT8_MAX, UINT8_C(196),    UINT8_MAX, UINT8_C( 89),    UINT8_MAX,
      UINT8_C(224), UINT8_C(165), UINT8_C(225),    UINT8_MAX, UINT8_C(200), UINT8_C(116), UINT8_C(179),    UINT8_MAX,
         UINT8_MAX,    UINT8_MAX,    UINT8_MAX, UINT8_C(240), UINT8_C( 98), UINT8_C(189), UINT8_C(209), UINT8_C(234),
         UINT8_MAX,    UINT8_MAX, UINT8_C(106),    UINT8_MAX,    UINT8_MAX,    UINT8_MAX, UINT8_C(219),    UINT8_MAX,
         UINT8_MAX, UINT8_C(198), UINT8_C(215), UINT8_C(242),    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,
      UINT8_C(215), UINT8_C(238),    UINT8_MAX,    UINT8_MAX, UINT8_C( 99), UINT8_C(183), UINT8_C(189), UINT8_C(186),
         UINT8_MAX, UINT8_C(230), UINT8_C(171), UINT8_C(142), UINT8_C(164), UINT8_C(125), UINT8_C(120),    UINT8_MAX,
      UINT8_C(219), UINT8_C(226), UINT8_C(253),    UINT8_MAX,    UINT8_MAX, UINT8_C(216),    UINT8_MAX,    UINT8_MAX,
      UINT8_C(159), UINT8_C(  5),    UINT8_MAX,    UINT8_MAX,    UINT8_MAX, UINT8_C( 70), UINT8_C(198),    UINT8_MAX,
         UINT8_MAX, UINT8_C(202),    UINT8_MAX, UINT8_C(152), UINT8_C(130), UINT8_C(106),    UINT8_MAX,    UINT8_MAX,
         UINT8_MAX, UINT8_C(254), UINT8_C( 59), UINT8_C(244), UINT8_C(123), UINT8_C(179), UINT8_C(205),    UINT8_MAX,
         UINT8_MAX, UINT8_C(203),    UINT8_MAX, UINT8_C(176),    UINT8_MAX, UINT8_C(133), UINT8_C(248), UINT8_C( 66),
      UINT8_C(138),    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX, UINT8_C(203),    UINT8_MAX, UINT8_C(174),
      UINT8_C(149),    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX, UINT8_C(153), UINT8_C(197),    UINT8_MAX,
      UINT8_C(153),    UINT8_MAX,    UINT8_MAX,    UINT8_MAX, UINT8_C(180), UINT8_C(248), UINT8_C(108),    UINT8_MAX,
      UINT8_C(195),    UINT8_MAX, UINT8_C(251), UINT8_C(102), UINT8_C( 72), UINT8_C(243), UINT8_C(169), UINT8_C(210),
         UINT8_MAX, UINT8_C(174), UINT8_C(148), UINT8_C(158), UINT8_C(121), UINT8_C( 98),    UINT8_MAX,    UINT8_MAX,
      UINT8_C(221), UINT8_C(147),    UINT8_MAX,    UINT8_MAX,    UINT8_MAX, UINT8_C(237), UINT8_C(248), UINT8_C(198),
      UINT8_C(237),    UINT8_MAX, UINT8_C(219),    UINT8_MAX,    UINT8_MAX, UINT8_C( 71), UINT8_C(237),    UINT8_MAX,
         UINT8_MAX, UINT8_C(232), UINT8_C( 68), UINT8_C( 83),    UINT8_MAX, UINT8_C(237),    UINT8_MAX,    UINT8_MAX,
         UINT8_MAX, UINT8_C(187),    UINT8_MAX,    UINT8_MAX,    UINT8_MAX, UINT8_C(237),    UINT8_MAX, UINT8_C(250),
      UINT8_C(129),    UINT8_MAX,    UINT8_MAX,    UINT8_MAX, UINT8_C( 56), UINT8_C(181), UINT8_C(117), UINT8_C( 38),
      UINT8_C(216), UINT8_C( 80),    UINT8_MAX, UINT8_C(242), UINT8_C(152), UINT8_C(181), UINT8_C(208), UINT8_C(163),
      UINT8_C(157),    UINT8_MAX, UINT8_C(248),    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX, UINT8_C(156),
      UINT8_C(218),    UINT8_MAX, UINT8_C(176), UINT8_C(247),    UINT8_MAX, UINT8_C(212), UINT8_C(242), UINT8_C(137),
         UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX, UINT8_C(101), UINT8_C(173),    UINT8_MAX, UINT8_C( 61),
      UINT8_C(254),    UINT8_MAX,    UINT8_MAX,    UINT8_MAX, UINT8_C(253),    UINT8_MAX, UINT8_C( 58),    UINT8_MAX,
         UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX, UINT8_C(144), UINT8_C(177),    UINT8_MAX,
         UINT8_MAX,    UINT8_MAX,    UINT8_MAX, UINT8_C(181), UINT8_C( 53),    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,
      UINT8_C(197), UINT8_C(119),    UINT8_MAX, UINT8_C( 43),    UINT8_MAX,    UINT8_MAX, UINT8_C(104),    UINT8_MAX,
         UINT8_MAX,    UINT8_MAX, UINT8_C(185), UINT8_C(115), UINT8_C(152), UINT8_C(244),    UINT8_MAX, UINT8_C(172),
         UINT8_MAX,    UINT8_MAX,    UINT8_MAX, UINT8_C(120), UINT8_C(181), UINT8_C(114), UINT8_C(163),    UINT8_MAX,
         UINT8_MAX, UINT8_C(198),    UINT8_MAX,    UINT8_MAX, UINT8_C(219),    UINT8_MAX, UINT8_C( 96),    UINT8_MAX,
      UINT8_C(205),    UINT8_MAX,    UINT8_MAX, UINT8_C(241),    UINT8_MAX, UINT8_C( 52),    UINT8_MAX, UINT8_C(177),
      UINT8_C(205),    UINT8_MAX,    UINT8_MAX, UINT8_C(101), UINT8_C(194),    UINT8_MAX,    UINT8_MAX, UINT8_C(233),
         UINT8_MAX, UINT8_C(211), UINT8_C( 97),    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,
      UINT8_C(203), UINT8_C(134),    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX, UINT8_C(169),
         UINT8_MAX,    UINT8_MAX,    UINT8_MAX, UINT8_C(206),    UINT8_MAX, UINT8_C(176),    UINT8_MAX,    UINT8_MAX,
         UINT8_MAX, UINT8_C(165), UINT8_C(125),    UINT8_MAX, UINT8_C(217), UINT8_C(143),    UINT8_MAX, UINT8_C( 51),
      UINT8_C(100), UINT8_C(139),    UINT8_MAX,    UINT8_MAX,    UINT8_MAX, UINT8_C(178), UINT8_C(197),    UINT8_MAX,
         UINT8_MAX, UINT8_C(233),    UINT8_MAX,    UINT8_MAX, UINT8_C(110), UINT8_C( 74),    UINT8_MAX,    UINT8_MAX,
         UINT8_MAX,    UINT8_MAX, UINT8_C(207), UINT8_C(169),    UINT8_MAX, UINT8_C( 80), UINT8_C(193),    UINT8_MAX,
      UINT8_C(245),    UINT8_MAX, UINT8_C(204), UINT8_C(208),    UINT8_MAX, UINT8_C(246),    UINT8_MAX,    UINT8_MAX,
      UINT8_C(130), UINT8_C( 69), UINT8_C(221),    UINT8_MAX, UINT8_C(249), UINT8_C(162), UINT8_C(109),    UINT8_MAX,
         UINT8_MAX,    UINT8_MAX,    UINT8_MAX, UINT8_C(249),    UINT8_MAX,    UINT8_MAX, UINT8_C(250),    UINT8_MAX,
      UINT8_C(100), UINT8_C(202), UINT8_C(194),    UINT8_MAX,    UINT8_MAX, UINT8_C(131), UINT8_C(252),    UINT8_MAX,
      UINT8_C(194),    UINT8_MAX,    UINT8_MAX, UINT8_C(145), UINT8_C(191), UINT8_C(228), UINT8_C(195),    UINT8_MAX,
         UINT8_MAX, UINT8_C(160),    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX, UINT8_C(205),
         UINT8_MAX, UINT8_C(160), UINT8_C(199), UINT8_C(235),    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,
         UINT8_MAX, UINT8_C(199),    UINT8_MAX, UINT8_C(167),    UINT8_MAX, UINT8_C(123), UINT8_C(184),    UINT8_MAX,
         UINT8_MAX, UINT8_C(153), UINT8_C(159),    UINT8_MAX, UINT8_C(125),    UINT8_MAX, UINT8_C( 69),    UINT8_MAX,
         UINT8_MAX, UINT8_C(154) };

  static uint8_t r[sizeof(e) / sizeof(e[0])];
  static const int32_t len = HEDLEY_STATIC_CAST(int32_t, sizeof(e) / sizeof(e[0]));
  int32_t i = 0;
  simde_svbool_t pg = simde_svwhilelt_b8_s32(i, len);
  while (simde_svptest_first(simde_svptrue_b8(), pg)) {
    simde_svuint8_t
      rv,
      av = simde_svld1_u8(pg, &(a[i])),
      bv = simde_svld1_u8(pg, &(b[i]));

    rv = simde_svqadd_u8(av, bv);

    simde_svst1_u8(pg, &(r[i]), rv);

    i += simde_svcntb();
    pg = simde_svwhilelt_b8_s32(i, len);
  }

  simde_assert_equal_vu8(len, e, r);

  return 0;
#else
  uint8_t a[1024], b[1024], e[1024];
  int32_t len = simde_test_arm_sve_random_length(sizeof(e), sizeof(e[0]));

  fputc('\n', stdout);

  simde_test_codegen_random_memory(sizeof(a), HEDLEY_REINTERPRET_CAST(uint8_t*, a));
  simde_test_codegen_random_memory(sizeof(b), HEDLEY_REINTERPRET_CAST(uint8_t*, b));

  int32_t i = 0;
  simde_svbool_t pg = simde_svwhilelt_b8_s32(i, len);
  while (simde_svptest_first(simde_svptrue_b8(), pg)) {
    simde_svuint8_t av, bv, ev;

    av = simde_svld1_u8(pg, &(a[i]));
    bv = simde_svld1_u8(pg, &(b[i]));

    ev = simde_svqadd_u8(av, bv);

    simde_svst1_u8(pg, &(e[i]), ev);

    i += simde_svcntb();
    pg = simde_svwhilelt_b8_s32(i, len);
  }

  simde_test_codegen_write_1vu8(1, HEDLEY_STATIC_CAST(size_t, len), a);
  simde_test_codegen_write_1vu8(1, HEDLEY_STATIC_CAST(size_t, len), b);
  simde_test_codegen_write_1vu8(1, HEDLEY_STATIC_CAST(size_t, len), e);

  return 1;
#endif
}

static int
test_simde_svqadd_u16 (SIMDE_MUNIT_TEST_ARGS) {
#if 1
  static const uint16_t a[] =
    { UINT16_C(46386), UINT16_C(62082), UINT16_C(24561), UINT16_C(49348), UINT16_C(24955), UINT16_C(44730), UINT16_C(52632), UINT16_C(49639),
      UINT16_C(53668), UINT16_C(44312), UINT16_C(37117), UINT16_C(32729), UINT16_C(48509), UINT16_C(56345), UINT16_C(47249), UINT16_C(50203),
      UINT16_C(40301), UINT16_C(24246), UINT16_C(31485), UINT16_C(30750), UINT16_C(55772), UINT16_C(29735), UINT16_C( 3750), UINT16_C(18998),
      UINT16_C(20191), UINT16_C(56567), UINT16_C(53470), UINT16_C(23388), UINT16_C(30094), UINT16_C( 7991), UINT16_C(21293), UINT16_C(39907),
      UINT16_C(39664), UINT16_C(60921), UINT16_C( 6164), UINT16_C(61542), UINT16_C(36337), UINT16_C(38757), UINT16_C(39835), UINT16_C(31713),
      UINT16_C(55529), UINT16_C(51287), UINT16_C(45992), UINT16_C(13859), UINT16_C(23336), UINT16_C(22102), UINT16_C(14766), UINT16_C(40689),
      UINT16_C(60115), UINT16_C(59532), UINT16_C(61954), UINT16_C(62424), UINT16_C(15743), UINT16_C( 6794), UINT16_C(27608), UINT16_C(49813),
      UINT16_C(60739), UINT16_C(60554), UINT16_C(44448), UINT16_C(51490), UINT16_C(30728), UINT16_C(46623), UINT16_C( 4274), UINT16_C(34133),
      UINT16_C(57850), UINT16_C(64877), UINT16_C(18131), UINT16_C(21232), UINT16_C(31619), UINT16_C(23660), UINT16_C(  742), UINT16_C(10782),
      UINT16_C(43247), UINT16_C(36630), UINT16_C(14421), UINT16_C(24152), UINT16_C(30641), UINT16_C(25364), UINT16_C(27015), UINT16_C(33512),
      UINT16_C(22090), UINT16_C( 7551), UINT16_C(28572), UINT16_C( 8047), UINT16_C(56554), UINT16_C(53627), UINT16_C(39390), UINT16_C(52731),
      UINT16_C( 4417), UINT16_C(38748), UINT16_C(46409), UINT16_C(64245), UINT16_C( 2348), UINT16_C(46173), UINT16_C(18035), UINT16_C(48438),
      UINT16_C(46492), UINT16_C(14555), UINT16_C(18980), UINT16_C( 3927), UINT16_C(54054), UINT16_C( 1248), UINT16_C(56172), UINT16_C(44753),
      UINT16_C(12012), UINT16_C(13637), UINT16_C(15075), UINT16_C( 3888), UINT16_C(36163), UINT16_C(46787), UINT16_C(63955), UINT16_C(28532),
      UINT16_C(20398), UINT16_C(54183), UINT16_C(65433), UINT16_C(49378), UINT16_C(49874), UINT16_C(16068), UINT16_C(38557), UINT16_C(35308),
      UINT16_C(12740), UINT16_C(42942), UINT16_C(61035), UINT16_C(44982), UINT16_C(31356), UINT16_C(20325), UINT16_C(55667), UINT16_C( 8895),
      UINT16_C(26152), UINT16_C(49909), UINT16_C(55141), UINT16_C(14210), UINT16_C(18073), UINT16_C(13942), UINT16_C(25308), UINT16_C(41151),
      UINT16_C(32148), UINT16_C(65351), UINT16_C(65132), UINT16_C(59566), UINT16_C( 5240), UINT16_C(60215), UINT16_C(63213), UINT16_C( 5645),
      UINT16_C(  605), UINT16_C(49880), UINT16_C(23257), UINT16_C(29434), UINT16_C(28832), UINT16_C(32168), UINT16_C(26578), UINT16_C(26141),
      UINT16_C(26085), UINT16_C(20838), UINT16_C( 5219), UINT16_C(56121), UINT16_C(28712), UINT16_C( 5830), UINT16_C(54375), UINT16_C(50220),
      UINT16_C( 1238), UINT16_C(45190), UINT16_C(32862), UINT16_C(65058), UINT16_C(52208), UINT16_C(50043), UINT16_C(39218), UINT16_C( 5929),
      UINT16_C(36862), UINT16_C(24936), UINT16_C(41380), UINT16_C(52284), UINT16_C(  530), UINT16_C(31202), UINT16_C( 3798), UINT16_C(44349),
      UINT16_C(49938), UINT16_C(28765), UINT16_C(32580), UINT16_C(13423), UINT16_C(59978), UINT16_C(32247), UINT16_C( 8579), UINT16_C(33172),
      UINT16_C(64944), UINT16_C(21730), UINT16_C( 7838), UINT16_C(45089), UINT16_C(  801), UINT16_C(63273), UINT16_C(26130), UINT16_C( 9380),
      UINT16_C(  298), UINT16_C(28309), UINT16_C( 1153), UINT16_C(52130), UINT16_C(39662), UINT16_C(29256), UINT16_C(56763), UINT16_C(27635),
      UINT16_C(55002), UINT16_C(30912), UINT16_C(57844), UINT16_C( 5417), UINT16_C(21220), UINT16_C(62989), UINT16_C(45497), UINT16_C(58139),
      UINT16_C(45235), UINT16_C(13393), UINT16_C(62388), UINT16_C(41727), UINT16_C(18573), UINT16_C(18452), UINT16_C( 2085), UINT16_C(65460),
      UINT16_C(29918), UINT16_C(53879), UINT16_C(41045), UINT16_C(14824), UINT16_C(62963), UINT16_C(44080), UINT16_C(19366), UINT16_C(22927),
      UINT16_C(57595), UINT16_C(44941), UINT16_C(36307), UINT16_C(24913), UINT16_C(26325), UINT16_C(64169), UINT16_C(23918), UINT16_C(19705),
      UINT16_C(28881), UINT16_C( 9758), UINT16_C( 1553), UINT16_C( 1120), UINT16_C(37115), UINT16_C(41648), UINT16_C(16347), UINT16_C(55035),
      UINT16_C(35103), UINT16_C(62085), UINT16_C(54806), UINT16_C(60243), UINT16_C(64828), UINT16_C(43749), UINT16_C(56922), UINT16_C(11510),
      UINT16_C( 5454), UINT16_C(24402), UINT16_C(45595), UINT16_C( 5987), UINT16_C( 4930), UINT16_C( 7609), UINT16_C(46162), UINT16_C(29171),
      UINT16_C(30781), UINT16_C(21348), UINT16_C(46927), UINT16_C(35646), UINT16_C( 9140), UINT16_C( 3894), UINT16_C(11265), UINT16_C(20539),
      UINT16_C(36161), UINT16_C(23983), UINT16_C( 4928), UINT16_C(33396), UINT16_C(11558), UINT16_C(31136), UINT16_C(37857), UINT16_C( 8170),
      UINT16_C(19980), UINT16_C(23410), UINT16_C(45318), UINT16_C(47846), UINT16_C( 7380), UINT16_C(54985), UINT16_C( 1097), UINT16_C(35366),
      UINT16_C(54674), UINT16_C(53991), UINT16_C(23528), UINT16_C( 3924), UINT16_C(62600), UINT16_C(27272), UINT16_C(29320), UINT16_C(38025),
      UINT16_C(64449), UINT16_C(51183), UINT16_C(54700), UINT16_C(33153), UINT16_C(19442), UINT16_C(15191), UINT16_C(32079), UINT16_C(57797),
      UINT16_C(44370), UINT16_C(15283), UINT16_C( 2056), UINT16_C(37194), UINT16_C(54012), UINT16_C(34043), UINT16_C(33860), UINT16_C( 1304),
      UINT16_C( 1919), UINT16_C(11468), UINT16_C(20189), UINT16_C(53165), UINT16_C( 1177), UINT16_C(59402), UINT16_C(53121), UINT16_C(54218),
      UINT16_C(32124), UINT16_C(34062), UINT16_C(22661), UINT16_C(33302), UINT16_C( 4394), UINT16_C(28422), UINT16_C( 8085), UINT16_C( 5236),
      UINT16_C(16678), UINT16_C(  832), UINT16_C(60815), UINT16_C(10450), UINT16_C(56561), UINT16_C(29200), UINT16_C(55980), UINT16_C(10310),
      UINT16_C(21592), UINT16_C(56749), UINT16_C(50093), UINT16_C(55135), UINT16_C(26324), UINT16_C(26950), UINT16_C(48005), UINT16_C(43902),
      UINT16_C(48892), UINT16_C(35759), UINT16_C(33196), UINT16_C(40371), UINT16_C(50014), UINT16_C( 2576), UINT16_C(22174), UINT16_C(63026),
      UINT16_C(57514), UINT16_C(22483), UINT16_C(13219), UINT16_C(30767), UINT16_C(30105), UINT16_C( 7905), UINT16_C(24368) };
  static const uint16_t b[] =
    { UINT16_C(65524), UINT16_C(20739), UINT16_C(40274), UINT16_C(55694), UINT16_C(30346), UINT16_C(35276), UINT16_C(29254), UINT16_C(64443),
      UINT16_C(17975), UINT16_C(27589), UINT16_C(33730), UINT16_C(26987), UINT16_C(20711), UINT16_C( 9195), UINT16_C( 8309), UINT16_C(27083),
      UINT16_C(52767), UINT16_C(29370), UINT16_C(18539), UINT16_C(62795), UINT16_C( 6334), UINT16_C( 1406), UINT16_C(14986), UINT16_C(49664),
      UINT16_C(50560), UINT16_C(16941), UINT16_C(38984), UINT16_C(12203), UINT16_C(38633), UINT16_C(24146), UINT16_C( 7606), UINT16_C(54727),
      UINT16_C(33260), UINT16_C(22343), UINT16_C(37833), UINT16_C(34893), UINT16_C(52139), UINT16_C(13709), UINT16_C(36101), UINT16_C(34295),
      UINT16_C( 9554), UINT16_C(39623), UINT16_C(29373), UINT16_C(42697), UINT16_C( 7176), UINT16_C(48644), UINT16_C(52025), UINT16_C( 9620),
      UINT16_C(56140), UINT16_C( 5757), UINT16_C(51822), UINT16_C( 6558), UINT16_C(11157), UINT16_C(39759), UINT16_C(18104), UINT16_C( 2592),
      UINT16_C(59499), UINT16_C(10660), UINT16_C(27994), UINT16_C(25551), UINT16_C(54409), UINT16_C(49953), UINT16_C(46495), UINT16_C(60648),
      UINT16_C(26001), UINT16_C(65282), UINT16_C(41007), UINT16_C(50457), UINT16_C(26827), UINT16_C(33632), UINT16_C(32942), UINT16_C( 6797),
      UINT16_C(12648), UINT16_C(49987), UINT16_C( 4766), UINT16_C(10278), UINT16_C(18406), UINT16_C(34539), UINT16_C(54269), UINT16_C(36466),
      UINT16_C(29753), UINT16_C(26765), UINT16_C(42516), UINT16_C(57133), UINT16_C(36110), UINT16_C(48482), UINT16_C(61198), UINT16_C(30423),
      UINT16_C( 6688), UINT16_C(48697), UINT16_C(24364), UINT16_C( 5094), UINT16_C(53671), UINT16_C(42137), UINT16_C( 2981), UINT16_C(56882),
      UINT16_C(49023), UINT16_C(37702), UINT16_C(29798), UINT16_C(29810), UINT16_C(54273), UINT16_C( 3889), UINT16_C( 2243), UINT16_C(58246),
      UINT16_C(48930), UINT16_C(20385), UINT16_C(34847), UINT16_C(50786), UINT16_C(64345), UINT16_C(65130), UINT16_C(39942), UINT16_C(34268),
      UINT16_C( 9051), UINT16_C(49432), UINT16_C(35479), UINT16_C(38966), UINT16_C(26462), UINT16_C( 8616), UINT16_C(11888), UINT16_C(37380),
      UINT16_C(42477), UINT16_C( 3297), UINT16_C(17197), UINT16_C(34770), UINT16_C(15422), UINT16_C(17541), UINT16_C(25304), UINT16_C(13513),
      UINT16_C(57733), UINT16_C( 7413), UINT16_C(11115), UINT16_C(51636), UINT16_C(23699), UINT16_C( 1002), UINT16_C(61066), UINT16_C(30869),
      UINT16_C(30612), UINT16_C(49540), UINT16_C(22458), UINT16_C(63816), UINT16_C(52883), UINT16_C(27709), UINT16_C( 1840), UINT16_C(46496),
      UINT16_C(38376), UINT16_C(21713), UINT16_C(34241), UINT16_C(21533), UINT16_C( 2274), UINT16_C(27735), UINT16_C(60662), UINT16_C(35556),
      UINT16_C(26979), UINT16_C( 7756), UINT16_C(38080), UINT16_C(21271), UINT16_C(21602), UINT16_C(37567), UINT16_C(24411), UINT16_C(17479),
      UINT16_C( 6389), UINT16_C(46744), UINT16_C(46494), UINT16_C(32778), UINT16_C(25021), UINT16_C(46316), UINT16_C(53581), UINT16_C(45374),
      UINT16_C(35386), UINT16_C(64207), UINT16_C(58911), UINT16_C(33101), UINT16_C( 3386), UINT16_C(38420), UINT16_C(23404), UINT16_C(25050),
      UINT16_C(29300), UINT16_C( 4631), UINT16_C( 8487), UINT16_C(58770), UINT16_C(32386), UINT16_C(53401), UINT16_C(55119), UINT16_C(35201),
      UINT16_C(20578), UINT16_C(33155), UINT16_C(53558), UINT16_C(28674), UINT16_C( 5854), UINT16_C(18950), UINT16_C(57458), UINT16_C(59052),
      UINT16_C(50002), UINT16_C(31480), UINT16_C(35557), UINT16_C(26463), UINT16_C(63496), UINT16_C(22583), UINT16_C(47311), UINT16_C(12769),
      UINT16_C(25864), UINT16_C(16050), UINT16_C(46390), UINT16_C( 5295), UINT16_C(46539), UINT16_C(15710), UINT16_C( 2710), UINT16_C(59427),
      UINT16_C( 7118), UINT16_C(45922), UINT16_C(49573), UINT16_C(44570), UINT16_C(21177), UINT16_C(35078), UINT16_C(59146), UINT16_C( 5050),
      UINT16_C(27980), UINT16_C(33361), UINT16_C(   34), UINT16_C(60822), UINT16_C(62902), UINT16_C(19499), UINT16_C(20223), UINT16_C(52532),
      UINT16_C(38762), UINT16_C( 3968), UINT16_C(39768), UINT16_C( 4797), UINT16_C(50157), UINT16_C(63387), UINT16_C(21931), UINT16_C(63242),
      UINT16_C(23746), UINT16_C(58490), UINT16_C( 4188), UINT16_C( 4818), UINT16_C(64773), UINT16_C( 1374), UINT16_C(37707), UINT16_C(46546),
      UINT16_C(21290), UINT16_C(33477), UINT16_C(33518), UINT16_C(56212), UINT16_C(12102), UINT16_C(61906), UINT16_C(56709), UINT16_C(18408),
      UINT16_C(25145), UINT16_C(38188), UINT16_C(65139), UINT16_C(30888), UINT16_C( 1787), UINT16_C(18045), UINT16_C(20633), UINT16_C(50172),
      UINT16_C(49571), UINT16_C(37190), UINT16_C(55875), UINT16_C(35180), UINT16_C(15882), UINT16_C(36730), UINT16_C(25371), UINT16_C(21718),
      UINT16_C(  709), UINT16_C(14570), UINT16_C(37376), UINT16_C(64433), UINT16_C(11928), UINT16_C(12866), UINT16_C(15998), UINT16_C( 8693),
      UINT16_C(15359), UINT16_C(17074), UINT16_C( 7702), UINT16_C( 8396), UINT16_C(18013), UINT16_C(30895), UINT16_C(34217), UINT16_C(28621),
      UINT16_C(46984), UINT16_C(34983), UINT16_C(22601), UINT16_C(57732), UINT16_C(50823), UINT16_C( 1299), UINT16_C( 2308), UINT16_C(  807),
      UINT16_C(55620), UINT16_C(23109), UINT16_C( 4600), UINT16_C(21882), UINT16_C(10584), UINT16_C(  461), UINT16_C(39599), UINT16_C(14192),
      UINT16_C( 6225), UINT16_C(39615), UINT16_C(17264), UINT16_C(63356), UINT16_C(36617), UINT16_C( 3581), UINT16_C( 9368), UINT16_C(56592),
      UINT16_C(22269), UINT16_C(62775), UINT16_C(45671), UINT16_C(48970), UINT16_C( 6363), UINT16_C(35521), UINT16_C(12722), UINT16_C( 1217),
      UINT16_C(33097), UINT16_C(47774), UINT16_C( 6852), UINT16_C(52913), UINT16_C(44714), UINT16_C(17115), UINT16_C(60626), UINT16_C(53279),
      UINT16_C(22338), UINT16_C(43461), UINT16_C( 4105), UINT16_C(58473), UINT16_C(10792), UINT16_C(55919), UINT16_C(12379), UINT16_C(42462),
      UINT16_C(32177), UINT16_C(30303), UINT16_C( 4247), UINT16_C(16708), UINT16_C( 8127), UINT16_C(37252), UINT16_C(41739), UINT16_C(19809),
      UINT16_C(10234), UINT16_C( 1015), UINT16_C(24631), UINT16_C(24552), UINT16_C(22410), UINT16_C(58681), UINT16_C( 6279), UINT16_C(14730),
      UINT16_C(59797), UINT16_C(11439), UINT16_C(62458), UINT16_C(47470), UINT16_C(61970), UINT16_C( 7754), UINT16_C(44181) };
  static const uint16_t e[] =
    {      UINT16_MAX,      UINT16_MAX, UINT16_C(64835),      UINT16_MAX, UINT16_C(55301),      UINT16_MAX,      UINT16_MAX,      UINT16_MAX,
           UINT16_MAX,      UINT16_MAX,      UINT16_MAX, UINT16_C(59716),      UINT16_MAX,      UINT16_MAX, UINT16_C(55558),      UINT16_MAX,
           UINT16_MAX, UINT16_C(53616), UINT16_C(50024),      UINT16_MAX, UINT16_C(62106), UINT16_C(31141), UINT16_C(18736),      UINT16_MAX,
           UINT16_MAX,      UINT16_MAX,      UINT16_MAX, UINT16_C(35591),      UINT16_MAX, UINT16_C(32137), UINT16_C(28899),      UINT16_MAX,
           UINT16_MAX,      UINT16_MAX, UINT16_C(43997),      UINT16_MAX,      UINT16_MAX, UINT16_C(52466),      UINT16_MAX,      UINT16_MAX,
      UINT16_C(65083),      UINT16_MAX,      UINT16_MAX, UINT16_C(56556), UINT16_C(30512),      UINT16_MAX,      UINT16_MAX, UINT16_C(50309),
           UINT16_MAX, UINT16_C(65289),      UINT16_MAX,      UINT16_MAX, UINT16_C(26900), UINT16_C(46553), UINT16_C(45712), UINT16_C(52405),
           UINT16_MAX,      UINT16_MAX,      UINT16_MAX,      UINT16_MAX,      UINT16_MAX,      UINT16_MAX, UINT16_C(50769),      UINT16_MAX,
           UINT16_MAX,      UINT16_MAX, UINT16_C(59138),      UINT16_MAX, UINT16_C(58446), UINT16_C(57292), UINT16_C(33684), UINT16_C(17579),
      UINT16_C(55895),      UINT16_MAX, UINT16_C(19187), UINT16_C(34430), UINT16_C(49047), UINT16_C(59903),      UINT16_MAX,      UINT16_MAX,
      UINT16_C(51843), UINT16_C(34316),      UINT16_MAX, UINT16_C(65180),      UINT16_MAX,      UINT16_MAX,      UINT16_MAX,      UINT16_MAX,
      UINT16_C(11105),      UINT16_MAX,      UINT16_MAX,      UINT16_MAX, UINT16_C(56019),      UINT16_MAX, UINT16_C(21016),      UINT16_MAX,
           UINT16_MAX, UINT16_C(52257), UINT16_C(48778), UINT16_C(33737),      UINT16_MAX, UINT16_C( 5137), UINT16_C(58415),      UINT16_MAX,
      UINT16_C(60942), UINT16_C(34022), UINT16_C(49922), UINT16_C(54674),      UINT16_MAX,      UINT16_MAX,      UINT16_MAX, UINT16_C(62800),
      UINT16_C(29449),      UINT16_MAX,      UINT16_MAX,      UINT16_MAX,      UINT16_MAX, UINT16_C(24684), UINT16_C(50445),      UINT16_MAX,
      UINT16_C(55217), UINT16_C(46239),      UINT16_MAX,      UINT16_MAX, UINT16_C(46778), UINT16_C(37866),      UINT16_MAX, UINT16_C(22408),
           UINT16_MAX, UINT16_C(57322),      UINT16_MAX,      UINT16_MAX, UINT16_C(41772), UINT16_C(14944),      UINT16_MAX,      UINT16_MAX,
      UINT16_C(62760),      UINT16_MAX,      UINT16_MAX,      UINT16_MAX, UINT16_C(58123),      UINT16_MAX, UINT16_C(65053), UINT16_C(52141),
      UINT16_C(38981),      UINT16_MAX, UINT16_C(57498), UINT16_C(50967), UINT16_C(31106), UINT16_C(59903),      UINT16_MAX, UINT16_C(61697),
      UINT16_C(53064), UINT16_C(28594), UINT16_C(43299),      UINT16_MAX, UINT16_C(50314), UINT16_C(43397),      UINT16_MAX,      UINT16_MAX,
      UINT16_C( 7627),      UINT16_MAX,      UINT16_MAX,      UINT16_MAX,      UINT16_MAX,      UINT16_MAX,      UINT16_MAX, UINT16_C(51303),
           UINT16_MAX,      UINT16_MAX,      UINT16_MAX,      UINT16_MAX, UINT16_C( 3916),      UINT16_MAX, UINT16_C(27202),      UINT16_MAX,
           UINT16_MAX, UINT16_C(33396), UINT16_C(41067),      UINT16_MAX,      UINT16_MAX,      UINT16_MAX, UINT16_C(63698),      UINT16_MAX,
           UINT16_MAX, UINT16_C(54885), UINT16_C(61396),      UINT16_MAX, UINT16_C( 6655),      UINT16_MAX,      UINT16_MAX,      UINT16_MAX,
      UINT16_C(50300), UINT16_C(59789), UINT16_C(36710),      UINT16_MAX,      UINT16_MAX, UINT16_C(51839),      UINT16_MAX, UINT16_C(40404),
           UINT16_MAX, UINT16_C(46962),      UINT16_MAX, UINT16_C(10712),      UINT16_MAX,      UINT16_MAX, UINT16_C(48207),      UINT16_MAX,
      UINT16_C(52353), UINT16_C(59315),      UINT16_MAX,      UINT16_MAX, UINT16_C(39750), UINT16_C(53530), UINT16_C(61231),      UINT16_MAX,
      UINT16_C(57898),      UINT16_MAX, UINT16_C(41079),      UINT16_MAX,      UINT16_MAX, UINT16_C(63579), UINT16_C(39589),      UINT16_MAX,
           UINT16_MAX, UINT16_C(48909),      UINT16_MAX, UINT16_C(29710),      UINT16_MAX,      UINT16_MAX, UINT16_C(45849),      UINT16_MAX,
      UINT16_C(52627),      UINT16_MAX, UINT16_C( 5741), UINT16_C( 5938),      UINT16_MAX, UINT16_C(43022), UINT16_C(54054),      UINT16_MAX,
      UINT16_C(56393),      UINT16_MAX,      UINT16_MAX,      UINT16_MAX,      UINT16_MAX,      UINT16_MAX,      UINT16_MAX, UINT16_C(29918),
      UINT16_C(30599), UINT16_C(62590),      UINT16_MAX, UINT16_C(36875), UINT16_C( 6717), UINT16_C(25654),      UINT16_MAX,      UINT16_MAX,
           UINT16_MAX, UINT16_C(58538),      UINT16_MAX,      UINT16_MAX, UINT16_C(25022), UINT16_C(40624), UINT16_C(36636), UINT16_C(42257),
      UINT16_C(36870), UINT16_C(38553), UINT16_C(42304),      UINT16_MAX, UINT16_C(23486), UINT16_C(44002), UINT16_C(53855), UINT16_C(16863),
      UINT16_C(35339), UINT16_C(40484), UINT16_C(53020), UINT16_C(56242), UINT16_C(25393),      UINT16_MAX, UINT16_C(35314), UINT16_C(63987),
           UINT16_MAX,      UINT16_MAX, UINT16_C(46129), UINT16_C(61656),      UINT16_MAX, UINT16_C(28571), UINT16_C(31628), UINT16_C(38832),
           UINT16_MAX,      UINT16_MAX, UINT16_C(59300), UINT16_C(55035), UINT16_C(30026), UINT16_C(15652),      UINT16_MAX,      UINT16_MAX,
      UINT16_C(50595), UINT16_C(54898), UINT16_C(19320),      UINT16_MAX,      UINT16_MAX, UINT16_C(37624), UINT16_C(43228), UINT16_C(57896),
      UINT16_C(24188),      UINT16_MAX,      UINT16_MAX,      UINT16_MAX, UINT16_C( 7540),      UINT16_MAX,      UINT16_MAX, UINT16_C(55435),
      UINT16_C(65221),      UINT16_MAX, UINT16_C(29513),      UINT16_MAX, UINT16_C(49108), UINT16_C(45537),      UINT16_MAX, UINT16_C(58515),
      UINT16_C(39016), UINT16_C(44293), UINT16_C(64920),      UINT16_MAX,      UINT16_MAX,      UINT16_MAX,      UINT16_MAX, UINT16_C(52772),
      UINT16_C(53769),      UINT16_MAX, UINT16_C(54340),      UINT16_MAX, UINT16_C(34451), UINT16_C(64202),      UINT16_MAX, UINT16_C(63711),
      UINT16_C(59126), UINT16_C(36774), UINT16_C(57827), UINT16_C(64923),      UINT16_MAX, UINT16_C(61257), UINT16_C(28453),      UINT16_MAX,
           UINT16_MAX, UINT16_C(33922),      UINT16_MAX,      UINT16_MAX,      UINT16_MAX, UINT16_C(15659),      UINT16_MAX };

  static uint16_t r[sizeof(e) / sizeof(e[0])];
  static const int32_t len = HEDLEY_STATIC_CAST(int32_t, sizeof(e) / sizeof(e[0]));
  int32_t i = 0;
  simde_svbool_t pg = simde_svwhilelt_b16_s32(i, len);
  while (simde_svptest_first(simde_svptrue_b16(), pg)) {
    simde_svuint16_t
      rv,
      av = simde_svld1_u16(pg, &(a[i])),
      bv = simde_svld1_u16(pg, &(b[i]));

    rv = simde_svqadd_u16(av, bv);

    simde_svst1_u16(pg, &(r[i]), rv);

    i += simde_svcnth();
    pg = simde_svwhilelt_b16_s32(i, len);
  }

  simde_assert_equal_vu16(len, e, r);

  return 0;
#else
  uint16_t a[1024 / sizeof(int16_t)], b[1024 / sizeof(int16_t)], e[1024 / sizeof(int16_t)];
  int32_t len = simde_test_arm_sve_random_length(sizeof(e), sizeof(e[0]));

  fputc('\n', stdout);

  simde_test_codegen_random_memory(sizeof(a), HEDLEY_REINTERPRET_CAST(uint8_t*, a));
  simde_test_codegen_random_memory(sizeof(b), HEDLEY_REINTERPRET_CAST(uint8_t*, b));

  int32_t i = 0;
  simde_svbool_t pg = simde_svwhilelt_b16_s32(i, len);
  while (simde_svptest_first(simde_svptrue_b16(), pg)) {
    simde_svuint16_t av, bv, ev;

    av = simde_svld1_u16(pg, &(a[i]));
    bv = simde_svld1_u16(pg, &(b[i]));

    ev = simde_svqadd_u16(av, bv);

    simde_svst1_u16(pg, &(e[i]), ev);

    i += simde_svcnth();
    pg = simde_svwhilelt_b16_s32(i, len);
  }

  simde_test_codegen_write_1vu16(1, HEDLEY_STATIC_CAST(size_t, len), a);
  simde_test_codegen_write_1vu16(1, HEDLEY_STATIC_CAST(size_t, len), b);
  simde_test_codegen_write_1vu16(1, HEDLEY_STATIC_CAST(size_t, len), e);

  return 1;
#endif
}

static int
test_simde_svqadd_u32 (SIMDE_MUNIT_TEST_ARGS) {
#if 1
  static const uint32_t a[] =
    { UINT32_C(1405621338), UINT32_C(1942880608), UINT32_C(2548466464), UINT32_C( 694783822), UINT32_C(2550343720), UINT32_C(3423213199), UINT32_C(3847073955), UINT32_C(2932945236),
      UINT32_C(2768345413), UINT32_C(3138965403), UINT32_C(2689793874), UINT32_C(3066674062), UINT32_C(1934544100), UINT32_C(2235521250), UINT32_C(1567329288), UINT32_C(  34290877),
      UINT32_C(1890061781), UINT32_C( 791462108), UINT32_C(1305444031), UINT32_C( 503552314), UINT32_C(1217483109), UINT32_C(2999832745), UINT32_C( 437205085), UINT32_C(1243421300),
      UINT32_C(  79349031), UINT32_C(1161029253), UINT32_C(2677146213), UINT32_C(  29202075), UINT32_C(2437500647), UINT32_C(2067994142), UINT32_C(3281408591), UINT32_C(2483925868),
      UINT32_C(4254648440), UINT32_C( 323144622), UINT32_C(1773327821), UINT32_C(1382707051), UINT32_C(3705910205), UINT32_C( 408364745), UINT32_C(3856461176), UINT32_C( 410642848),
      UINT32_C(1612059057), UINT32_C(2842908892), UINT32_C(2551326253), UINT32_C(1407941781), UINT32_C(4180659759), UINT32_C(1829865205), UINT32_C( 340979060), UINT32_C(2284702679),
      UINT32_C(3102229468), UINT32_C(3378666651), UINT32_C( 392262786), UINT32_C( 543837425), UINT32_C( 270113051), UINT32_C(2491231008), UINT32_C(4020817944), UINT32_C(2021184923),
      UINT32_C(3023069208), UINT32_C(1048416956), UINT32_C(4166442503), UINT32_C(1176027179), UINT32_C(2052469338), UINT32_C(1963905885), UINT32_C(1063630499), UINT32_C(2763513228),
      UINT32_C(4200130365), UINT32_C(2167985530), UINT32_C(3749285556), UINT32_C(2837811535), UINT32_C( 539196355), UINT32_C(4069929294), UINT32_C(1932655591), UINT32_C( 353954008),
      UINT32_C(1225748687), UINT32_C(4207560774), UINT32_C( 634995670), UINT32_C(2563702485), UINT32_C(3350851961), UINT32_C( 179916578), UINT32_C( 578677322), UINT32_C(2721551826),
      UINT32_C(1290487558), UINT32_C(1699133071), UINT32_C(3465224185), UINT32_C(2523355421), UINT32_C(1834819659), UINT32_C(3111589743), UINT32_C(3571184897), UINT32_C(2423657098),
      UINT32_C(3906756953), UINT32_C( 290333207), UINT32_C(1591728449), UINT32_C(2113160754), UINT32_C(3588969062), UINT32_C(1787716201), UINT32_C(3795741015), UINT32_C(3581064316),
      UINT32_C( 767446806), UINT32_C(3007188081), UINT32_C( 386997989), UINT32_C(3415541348), UINT32_C(3248521304), UINT32_C( 975908834), UINT32_C( 337406616), UINT32_C( 887787038),
      UINT32_C(1331865821), UINT32_C(2567086260), UINT32_C( 598741950), UINT32_C(1911440665), UINT32_C(2821885637), UINT32_C(1457675965), UINT32_C(3865771720), UINT32_C(1780176012),
      UINT32_C(2964946428), UINT32_C(3695819549), UINT32_C(3909089998), UINT32_C(  89779519), UINT32_C( 967675003), UINT32_C(2995752938), UINT32_C( 429455757), UINT32_C(1250145102),
      UINT32_C(1325087792), UINT32_C(3324658935), UINT32_C(2125343038), UINT32_C(2441283350), UINT32_C(2110402707), UINT32_C(1278171583), UINT32_C(2707802195), UINT32_C(2901141883),
      UINT32_C( 502982181), UINT32_C(1776493611), UINT32_C(1676120397), UINT32_C( 754215576), UINT32_C(1504296858), UINT32_C(1806031128), UINT32_C( 470551457), UINT32_C( 432601332),
      UINT32_C( 154583774), UINT32_C( 863181286), UINT32_C(1133927082), UINT32_C(1601145797), UINT32_C(1656297546), UINT32_C(2462998257), UINT32_C(1571805801), UINT32_C(2977396690),
      UINT32_C( 549104954), UINT32_C(1901342151), UINT32_C(1303702152), UINT32_C(3215729525), UINT32_C( 757228860), UINT32_C( 767619268), UINT32_C(2643161034), UINT32_C( 541983462),
      UINT32_C(1983973551), UINT32_C(3202913590), UINT32_C(4111178879), UINT32_C(4239701952), UINT32_C(3777615389), UINT32_C(2433673670), UINT32_C(1060018520), UINT32_C(1264549019),
      UINT32_C(3133251716), UINT32_C(3044583733), UINT32_C( 111838022), UINT32_C(1476550203), UINT32_C(4214827829), UINT32_C(1837909781), UINT32_C(2091694817), UINT32_C(3150384182),
      UINT32_C(3799353772), UINT32_C(2023222834), UINT32_C(2893955441), UINT32_C(3557064863), UINT32_C(3251649964), UINT32_C(1714314373), UINT32_C(1306712855), UINT32_C(2466818791),
      UINT32_C(1702198835), UINT32_C(3722316908), UINT32_C(3985267789), UINT32_C(2311163613), UINT32_C(1363841484), UINT32_C(  95910126), UINT32_C( 978491731), UINT32_C(1993235267),
      UINT32_C(1172063193), UINT32_C(2636298832), UINT32_C(4085951510), UINT32_C( 125586491), UINT32_C(3411592925), UINT32_C(2463108927), UINT32_C(3972866984), UINT32_C(1466080126),
      UINT32_C( 781991646), UINT32_C( 265076472) };
  static const uint32_t b[] =
    { UINT32_C(2589550163), UINT32_C(1210084781), UINT32_C(  20696473), UINT32_C(   6537460), UINT32_C(3072482081), UINT32_C(2757611898), UINT32_C(2393133833), UINT32_C( 969434854),
      UINT32_C(2043879884), UINT32_C( 683799695), UINT32_C(3039427777), UINT32_C(3736440253), UINT32_C(1653987304), UINT32_C(2986800041), UINT32_C( 742435398), UINT32_C(3714451729),
      UINT32_C(3109501226), UINT32_C(4007729197), UINT32_C(3533966101), UINT32_C(2159040920), UINT32_C(3672262193), UINT32_C(2139941177), UINT32_C(2762722707), UINT32_C(   8524246),
      UINT32_C(2025511243), UINT32_C( 107453425), UINT32_C(1054346150), UINT32_C(2512292196), UINT32_C( 141533647), UINT32_C( 495451274), UINT32_C(2680304329), UINT32_C(2409579588),
      UINT32_C( 235362589), UINT32_C(2601873141), UINT32_C(3738889593), UINT32_C(1165203574), UINT32_C(3276661561), UINT32_C(2833372383), UINT32_C(1262985991), UINT32_C(  81454823),
      UINT32_C( 890429760), UINT32_C(3385861968), UINT32_C(2343021077), UINT32_C(2094078787), UINT32_C(3711966974), UINT32_C(4203028979), UINT32_C(2873478340), UINT32_C(4071563186),
      UINT32_C(1344782592), UINT32_C(4263180521), UINT32_C(3851010466), UINT32_C(3663878876), UINT32_C(1823974009), UINT32_C(2271624387), UINT32_C(3140659976), UINT32_C(3400393162),
      UINT32_C(2333857186), UINT32_C(1871263181), UINT32_C(3545568246), UINT32_C(3870144365), UINT32_C( 475161945), UINT32_C(2862856353), UINT32_C( 761648483), UINT32_C(1492652726),
      UINT32_C(3034846183), UINT32_C(1042574664), UINT32_C(3994122624), UINT32_C(2312421168), UINT32_C(3315935012), UINT32_C(1131366623), UINT32_C(3547386909), UINT32_C(3458951399),
      UINT32_C(3280146299), UINT32_C(4244809597), UINT32_C(1357583136), UINT32_C(4141465810), UINT32_C(3334242023), UINT32_C(3809029062), UINT32_C(3887495680), UINT32_C(1588978146),
      UINT32_C(1847671025), UINT32_C(4285211615), UINT32_C( 156194615), UINT32_C(4261423127), UINT32_C(1824832678), UINT32_C(3880767207), UINT32_C( 718144840), UINT32_C(3632825575),
      UINT32_C(2621876924), UINT32_C(  77312461), UINT32_C( 521071368), UINT32_C(3122466323), UINT32_C(2972115658), UINT32_C(4170806960), UINT32_C(1646421883), UINT32_C(2822417387),
      UINT32_C( 574914645), UINT32_C( 975691570), UINT32_C(3730453962), UINT32_C( 228095811), UINT32_C( 163495513), UINT32_C(2952877876), UINT32_C(2853315775), UINT32_C( 609373647),
      UINT32_C(4282816205), UINT32_C(1077570934), UINT32_C(3843986594), UINT32_C(1710405131), UINT32_C(2842603893), UINT32_C(3344527368), UINT32_C(1668443284), UINT32_C(2257044665),
      UINT32_C(3515272539), UINT32_C(3708928059), UINT32_C(1606627412), UINT32_C(1539618278), UINT32_C(1862611814), UINT32_C( 926310051), UINT32_C(2207951050), UINT32_C(3356107117),
      UINT32_C( 697929966), UINT32_C(2751965776), UINT32_C(3238251226), UINT32_C(3860646015), UINT32_C(2656379387), UINT32_C(1255508864), UINT32_C(2714660660), UINT32_C(2120865936),
      UINT32_C(3098018408), UINT32_C(2270998444), UINT32_C(4165492601), UINT32_C( 584999975), UINT32_C( 113259398), UINT32_C(4082144703), UINT32_C(2492734980), UINT32_C(1578368502),
      UINT32_C(2870393855), UINT32_C(3811734122), UINT32_C(4191910610), UINT32_C(1696381663), UINT32_C(2892750061), UINT32_C(1990179698), UINT32_C(3490395098), UINT32_C( 791617072),
      UINT32_C(1138443737), UINT32_C(2317749688), UINT32_C(1736638856), UINT32_C(2848759739), UINT32_C(3998562172), UINT32_C(3429168626), UINT32_C(1503489832), UINT32_C(1720241293),
      UINT32_C(3383321361), UINT32_C(4183019377), UINT32_C(2355156945), UINT32_C(4063571062), UINT32_C(1440779107), UINT32_C(2820818304), UINT32_C(1107410868), UINT32_C(2628291211),
      UINT32_C(1583764205), UINT32_C(4065835297), UINT32_C( 125810576), UINT32_C(1190769891), UINT32_C(3214727743), UINT32_C(3546856991), UINT32_C( 135620989), UINT32_C(3785670387),
      UINT32_C( 826214928), UINT32_C(1411684292), UINT32_C( 844866382), UINT32_C(2541245783), UINT32_C(1314264111), UINT32_C(1327611602), UINT32_C( 458700584), UINT32_C( 100465909),
      UINT32_C(3392551942), UINT32_C( 555702995), UINT32_C(1431534333), UINT32_C(4276931791), UINT32_C(3008119520), UINT32_C( 688025089), UINT32_C(2588170917), UINT32_C(1553940822),
      UINT32_C(1344787837), UINT32_C( 762398256), UINT32_C(2424489408), UINT32_C(1905159825), UINT32_C(2988759985), UINT32_C(4007339849), UINT32_C(3616022401), UINT32_C(3711117152),
      UINT32_C( 741169916), UINT32_C(1633329056) };
  static const uint32_t e[] =
    { UINT32_C(3995171501), UINT32_C(3152965389), UINT32_C(2569162937), UINT32_C( 701321282),           UINT32_MAX,           UINT32_MAX,           UINT32_MAX, UINT32_C(3902380090),
                UINT32_MAX, UINT32_C(3822765098),           UINT32_MAX,           UINT32_MAX, UINT32_C(3588531404),           UINT32_MAX, UINT32_C(2309764686), UINT32_C(3748742606),
                UINT32_MAX,           UINT32_MAX,           UINT32_MAX, UINT32_C(2662593234),           UINT32_MAX,           UINT32_MAX, UINT32_C(3199927792), UINT32_C(1251945546),
      UINT32_C(2104860274), UINT32_C(1268482678), UINT32_C(3731492363), UINT32_C(2541494271), UINT32_C(2579034294), UINT32_C(2563445416),           UINT32_MAX,           UINT32_MAX,
                UINT32_MAX, UINT32_C(2925017763),           UINT32_MAX, UINT32_C(2547910625),           UINT32_MAX, UINT32_C(3241737128),           UINT32_MAX, UINT32_C( 492097671),
      UINT32_C(2502488817),           UINT32_MAX,           UINT32_MAX, UINT32_C(3502020568),           UINT32_MAX,           UINT32_MAX, UINT32_C(3214457400),           UINT32_MAX,
                UINT32_MAX,           UINT32_MAX, UINT32_C(4243273252), UINT32_C(4207716301), UINT32_C(2094087060),           UINT32_MAX,           UINT32_MAX,           UINT32_MAX,
                UINT32_MAX, UINT32_C(2919680137),           UINT32_MAX,           UINT32_MAX, UINT32_C(2527631283),           UINT32_MAX, UINT32_C(1825278982), UINT32_C(4256165954),
                UINT32_MAX, UINT32_C(3210560194),           UINT32_MAX,           UINT32_MAX, UINT32_C(3855131367),           UINT32_MAX,           UINT32_MAX, UINT32_C(3812905407),
                UINT32_MAX,           UINT32_MAX, UINT32_C(1992578806),           UINT32_MAX,           UINT32_MAX, UINT32_C(3988945640),           UINT32_MAX,           UINT32_MAX,
      UINT32_C(3138158583),           UINT32_MAX, UINT32_C(3621418800),           UINT32_MAX, UINT32_C(3659652337),           UINT32_MAX, UINT32_C(4289329737),           UINT32_MAX,
                UINT32_MAX, UINT32_C( 367645668), UINT32_C(2112799817),           UINT32_MAX,           UINT32_MAX,           UINT32_MAX,           UINT32_MAX,           UINT32_MAX,
      UINT32_C(1342361451), UINT32_C(3982879651), UINT32_C(4117451951), UINT32_C(3643637159), UINT32_C(3412016817), UINT32_C(3928786710), UINT32_C(3190722391), UINT32_C(1497160685),
                UINT32_MAX, UINT32_C(3644657194),           UINT32_MAX, UINT32_C(3621845796),           UINT32_MAX,           UINT32_MAX,           UINT32_MAX, UINT32_C(4037220677),
                UINT32_MAX,           UINT32_MAX,           UINT32_MAX, UINT32_C(1629397797), UINT32_C(2830286817), UINT32_C(3922062989), UINT32_C(2637406807),           UINT32_MAX,
      UINT32_C(2023017758),           UINT32_MAX,           UINT32_MAX,           UINT32_MAX,           UINT32_MAX, UINT32_C(2533680447),           UINT32_MAX,           UINT32_MAX,
      UINT32_C(3601000589), UINT32_C(4047492055),           UINT32_MAX, UINT32_C(1339215551), UINT32_C(1617556256),           UINT32_MAX, UINT32_C(2963286437), UINT32_C(2010969834),
      UINT32_C(3024977629),           UINT32_MAX,           UINT32_MAX, UINT32_C(3297527460),           UINT32_MAX,           UINT32_MAX,           UINT32_MAX, UINT32_C(3769013762),
      UINT32_C(1687548691), UINT32_C(4219091839), UINT32_C(3040341008),           UINT32_MAX,           UINT32_MAX, UINT32_C(4196787894), UINT32_C(4146650866), UINT32_C(2262224755),
                UINT32_MAX,           UINT32_MAX,           UINT32_MAX,           UINT32_MAX,           UINT32_MAX,           UINT32_MAX, UINT32_C(2167429388), UINT32_C(3892840230),
                UINT32_MAX,           UINT32_MAX, UINT32_C( 237648598), UINT32_C(2667320094),           UINT32_MAX,           UINT32_MAX, UINT32_C(2227315806),           UINT32_MAX,
                UINT32_MAX, UINT32_C(3434907126), UINT32_C(3738821823),           UINT32_MAX,           UINT32_MAX, UINT32_C(3041925975), UINT32_C(1765413439), UINT32_C(2567284700),
                UINT32_MAX, UINT32_C(4278019903),           UINT32_MAX,           UINT32_MAX,           UINT32_MAX, UINT32_C( 783935215), UINT32_C(3566662648), UINT32_C(3547176089),
      UINT32_C(2516851030), UINT32_C(3398697088),           UINT32_MAX, UINT32_C(2030746316),           UINT32_MAX,           UINT32_MAX,           UINT32_MAX,           UINT32_MAX,
      UINT32_C(1523161562), UINT32_C(1898405528) };

  static uint32_t r[sizeof(e) / sizeof(e[0])];
  static const int32_t len = HEDLEY_STATIC_CAST(int32_t, sizeof(e) / sizeof(e[0]));
  int32_t i = 0;
  simde_svbool_t pg = simde_svwhilelt_b32_s32(i, len);
  while (simde_svptest_first(simde_svptrue_b32(), pg)) {
    simde_svuint32_t
      rv,
      av = simde_svld1_u32(pg, &(a[i])),
      bv = simde_svld1_u32(pg, &(b[i]));

    rv = simde_svqadd_u32(av, bv);

    simde_svst1_u32(pg, &(r[i]), rv);

    i += simde_svcntw();
    pg = simde_svwhilelt_b32_s32(i, len);
  }

  simde_assert_equal_vu32(len, e, r);

  return 0;
#else
  uint32_t a[1024 / sizeof(int32_t)], b[1024 / sizeof(int32_t)], e[1024 / sizeof(int32_t)];
  int32_t len = simde_test_arm_sve_random_length(sizeof(e), sizeof(e[0]));

  fputc('\n', stdout);

  simde_test_codegen_random_memory(sizeof(a), HEDLEY_REINTERPRET_CAST(uint8_t*, a));
  simde_test_codegen_random_memory(sizeof(b), HEDLEY_REINTERPRET_CAST(uint8_t*, b));

  int32_t i = 0;
  simde_svbool_t pg = simde_svwhilelt_b32_s32(i, len);
  while (simde_svptest_first(simde_svptrue_b32(), pg)) {
    simde_svuint32_t av, bv, ev;

    av = simde_svld1_u32(pg, &(a[i]));
    bv = simde_svld1_u32(pg, &(b[i]));

    ev = simde_svqadd_u32(av, bv);

    simde_svst1_u32(pg, &(e[i]), ev);

    i += simde_svcntw();
    pg = simde_svwhilelt_b32_s32(i, len);
  }

  simde_test_codegen_write_1vu32(1, HEDLEY_STATIC_CAST(size_t, len), a);
  simde_test_codegen_write_1vu32(1, HEDLEY_STATIC_CAST(size_t, len), b);
  simde_test_codegen_write_1vu32(1, HEDLEY_STATIC_CAST(size_t, len), e);

  return 1;
#endif
}

static int
test_simde_svqadd_u64 (SIMDE_MUNIT_TEST_ARGS) {
#if 1
  static const uint64_t a[] =
    { UINT64_C(12557278677678002985), UINT64_C( 2009120930914405922), UINT64_C(16222904160205021999), UINT64_C(16197508010881563462),
      UINT64_C(16990169103298748078), UINT64_C(13958152310202875587), UINT64_C(10067642235795599477), UINT64_C(11872922341808724782),
      UINT64_C(12477655881774839157), UINT64_C( 6889378140607977799), UINT64_C(10141241449739906028), UINT64_C(10980679839311268808),
      UINT64_C(17619207285007328236), UINT64_C(12962038978844740248), UINT64_C(14862055816187615317), UINT64_C(15305184166841987500),
      UINT64_C(15254586097475927058), UINT64_C( 4571216202631119351), UINT64_C(11683238991426180432), UINT64_C(12871524816354586852),
      UINT64_C( 7935945588232768019), UINT64_C(   58437602309339301), UINT64_C(15675194075094893297), UINT64_C(16463830729628252713),
      UINT64_C(13076014669950610577), UINT64_C( 3566590593339794382), UINT64_C( 8693251644308641237), UINT64_C( 2400907404859493020),
      UINT64_C(12208592129930986920), UINT64_C(11219778137949254212), UINT64_C(  812065683585486205), UINT64_C(16935163267229714003),
      UINT64_C( 1500562686594002766), UINT64_C( 2388117967685090243), UINT64_C(16614679059538741529), UINT64_C( 2587266128435350457),
      UINT64_C( 6981741184507808767), UINT64_C(16348081807514237979), UINT64_C(13335437773309201815), UINT64_C(12250526198407748362),
      UINT64_C(10026525079069413160), UINT64_C(12936354757148807131), UINT64_C(18064200824101139191), UINT64_C( 3035105102002742729),
      UINT64_C(15214871449118415147), UINT64_C(10517030592811921443), UINT64_C( 9861820780319986161), UINT64_C(13676053906230916511),
      UINT64_C(17473824505323895475), UINT64_C(16652382837956343790), UINT64_C( 8880435308094071542), UINT64_C(  551945306260650330),
      UINT64_C( 7809578747458420897), UINT64_C(12611783994765513513), UINT64_C(14773955719772622512), UINT64_C(12337436400599704540),
      UINT64_C( 4993502550307891809), UINT64_C(18408580367790653712), UINT64_C( 6663519304531369273), UINT64_C(17612948752795709879),
      UINT64_C( 1445690685340813486), UINT64_C( 1779017371556344929), UINT64_C( 9660007688016510003), UINT64_C( 1005909511435230062),
      UINT64_C( 5428781389859768637), UINT64_C(13642436302140552028), UINT64_C(13996484318280554471), UINT64_C( 8613055373676610843),
      UINT64_C(11724575475035103105), UINT64_C( 4938531645815632194), UINT64_C(10763103353932872007), UINT64_C( 6588933221580218814),
      UINT64_C( 8925989567451245046), UINT64_C( 3805489928813919278), UINT64_C(14040022434180025289), UINT64_C( 8396166000679839567),
      UINT64_C(17728860599182510933), UINT64_C(16820469757609332812), UINT64_C(13538388292255104539), UINT64_C( 2296671748296646124),
      UINT64_C( 7814790029081678005), UINT64_C( 6921773439525516294), UINT64_C( 3204700640064322642), UINT64_C( 9144689648123469567),
      UINT64_C( 5877882832239170822), UINT64_C(11387780796585031779), UINT64_C(16874942633642592706), UINT64_C( 4790593314895414836),
      UINT64_C( 5317902223054239280), UINT64_C(10096783162264863539), UINT64_C( 9608921636439817091), UINT64_C(15565845113358912645),
      UINT64_C(11214561654653349236), UINT64_C( 1349455420684211300), UINT64_C(10271542007935552181), UINT64_C( 9180118398561947366),
      UINT64_C( 4595215176048425666), UINT64_C(15037562155365687567), UINT64_C(17296462541531525233), UINT64_C( 8141070714472913263),
      UINT64_C( 6825592604732347295), UINT64_C(13775574808491992641), UINT64_C(15264742458844054237), UINT64_C(15617155543734310300),
      UINT64_C(17782757477466658076), UINT64_C( 5710140407779870257), UINT64_C( 6248478104343705472), UINT64_C( 7598798860179211618),
      UINT64_C(  314582175491344305), UINT64_C(12548929818626076516), UINT64_C(14720096105745505336), UINT64_C(17655761200927533390),
      UINT64_C(15887214562535856804), UINT64_C(17817885813844933992), UINT64_C( 8028565880716252981), UINT64_C( 6148840319745774619),
      UINT64_C(15149905094252409323), UINT64_C(18444965931519701315), UINT64_C( 3392909353569673861), UINT64_C( 2153815952604471773),
      UINT64_C( 4094264599531007893), UINT64_C( 7960732364923615921), UINT64_C(18400065549503830038), UINT64_C( 7105679439489263948),
      UINT64_C(10181850253387439136) };
  static const uint64_t b[] =
    { UINT64_C( 7993391265753255813), UINT64_C( 1319703642428995267), UINT64_C(16262648485458627679), UINT64_C( 7809905749528509904),
      UINT64_C( 5736104385642844202), UINT64_C( 4989179035634261682), UINT64_C( 7273129316150872939), UINT64_C( 7145049013441453525),
      UINT64_C( 7240708141855274401), UINT64_C(15398876308403342216), UINT64_C( 9858612351893461976), UINT64_C(12703365989505744560),
      UINT64_C(10121656561586526818), UINT64_C(12386215997176678052), UINT64_C( 5351656908972869384), UINT64_C( 6297579247719647398),
      UINT64_C( 4677518844916023897), UINT64_C(11053577932626650088), UINT64_C(  855570016271367674), UINT64_C(16820141484085875233),
      UINT64_C(11691960054260881255), UINT64_C(13635990116309504274), UINT64_C( 5382137084638302273), UINT64_C(18283996109869183299),
      UINT64_C( 4972046777004852132), UINT64_C( 7157385434499669459), UINT64_C( 1884962979872089781), UINT64_C(17996572495820261420),
      UINT64_C(15431398322385436846), UINT64_C(16805677016701276085), UINT64_C( 3052015572784464744), UINT64_C(11728973166694713463),
      UINT64_C( 2974814970975559022), UINT64_C(16201481371745564090), UINT64_C(  334808495366905468), UINT64_C(12635012859765494467),
      UINT64_C( 4634318941955611826), UINT64_C(  465284229269180446), UINT64_C(15218830891766879651), UINT64_C( 5523914098209260728),
      UINT64_C( 5730201816779704510), UINT64_C( 6675841775927866132), UINT64_C(  347552657710065391), UINT64_C(18207109080885845190),
      UINT64_C(17937491951578259566), UINT64_C( 2057648240279933561), UINT64_C(11795753009912945506), UINT64_C(14088578316210778186),
      UINT64_C(  264675034753320143), UINT64_C(16243291432598979363), UINT64_C(13789812557962250207), UINT64_C(16215996683371635441),
      UINT64_C(16148853544765910415), UINT64_C(17646118279501074819), UINT64_C(11913727132568678946), UINT64_C(17898421372345687409),
      UINT64_C(13547441447691745380), UINT64_C(17332282169782841983), UINT64_C(13289803950305261588), UINT64_C(13104523090299935355),
      UINT64_C(11208290811115990422), UINT64_C(   56498318425934091), UINT64_C(12245346958969426160), UINT64_C( 6960429544206314385),
      UINT64_C( 5984644300161380183), UINT64_C(16568730891236097284), UINT64_C( 9158930684467591236), UINT64_C( 7594469826926651705),
      UINT64_C( 5910105135217677161), UINT64_C( 7422267687734161190), UINT64_C( 7374632487791173353), UINT64_C( 2025157154099018142),
      UINT64_C(  432857797861701217), UINT64_C( 6668461551174894080), UINT64_C(17929827761987544385), UINT64_C( 7715723938976251204),
      UINT64_C(12798697640608587960), UINT64_C( 2535071267067117406), UINT64_C( 3537688476915884742), UINT64_C( 4257937409400422561),
      UINT64_C(12357157531537322267), UINT64_C( 8806413811767333681), UINT64_C(14639709436367259148), UINT64_C(12119624812590486130),
      UINT64_C(12085394713901008063), UINT64_C(16966169061697926213), UINT64_C( 3579253120655691190), UINT64_C( 8185108369013941089),
      UINT64_C( 4861976641292536924), UINT64_C(15722821815157666665), UINT64_C( 9776302306096781244), UINT64_C( 9848543538989945739),
      UINT64_C(14509424133694696218), UINT64_C(  145596531608688391), UINT64_C(12828267313224335450), UINT64_C(12011272331993251581),
      UINT64_C(16640829069369150407), UINT64_C(11454930137658753456), UINT64_C(11218508036578375126), UINT64_C(  276254754001428387),
      UINT64_C( 6648750852010644351), UINT64_C( 4899435278253577756), UINT64_C(16571542670749539519), UINT64_C(12813279918755790225),
      UINT64_C( 3785087569806556286), UINT64_C(16383131327707535787), UINT64_C( 2438483212658384303), UINT64_C( 6114973320626498808),
      UINT64_C(17007569397578984635), UINT64_C(16061913446287252447), UINT64_C( 6678739718941649150), UINT64_C( 1782689180850494866),
      UINT64_C( 2485127462097992782), UINT64_C(16184262378868015502), UINT64_C(11814099679613708853), UINT64_C( 3184266887979367355),
      UINT64_C(11270881551937379334), UINT64_C(15094926429992358072), UINT64_C(13984061703972383069), UINT64_C(17069498998707592665),
      UINT64_C(10291182365882818086), UINT64_C( 8907456090189933103), UINT64_C( 4564110590878484365), UINT64_C( 7055690617933148183),
      UINT64_C(17211747046769696632) };
  static const uint64_t e[] =
    {                     UINT64_MAX, UINT64_C( 3328824573343401189),                     UINT64_MAX,                     UINT64_MAX,
                          UINT64_MAX,                     UINT64_MAX, UINT64_C(17340771551946472416),                     UINT64_MAX,
                          UINT64_MAX,                     UINT64_MAX,                     UINT64_MAX,                     UINT64_MAX,
                          UINT64_MAX,                     UINT64_MAX,                     UINT64_MAX,                     UINT64_MAX,
                          UINT64_MAX, UINT64_C(15624794135257769439), UINT64_C(12538809007697548106),                     UINT64_MAX,
                          UINT64_MAX, UINT64_C(13694427718618843575),                     UINT64_MAX,                     UINT64_MAX,
      UINT64_C(18048061446955462709), UINT64_C(10723976027839463841), UINT64_C(10578214624180731018),                     UINT64_MAX,
                          UINT64_MAX,                     UINT64_MAX, UINT64_C( 3864081256369950949),                     UINT64_MAX,
      UINT64_C( 4475377657569561788),                     UINT64_MAX, UINT64_C(16949487554905646997), UINT64_C(15222278988200844924),
      UINT64_C(11616060126463420593), UINT64_C(16813366036783418425),                     UINT64_MAX, UINT64_C(17774440296617009090),
      UINT64_C(15756726895849117670),                     UINT64_MAX, UINT64_C(18411753481811204582),                     UINT64_MAX,
                          UINT64_MAX, UINT64_C(12574678833091855004),                     UINT64_MAX,                     UINT64_MAX,
      UINT64_C(17738499540077215618),                     UINT64_MAX,                     UINT64_MAX, UINT64_C(16767941989632285771),
                          UINT64_MAX,                     UINT64_MAX,                     UINT64_MAX,                     UINT64_MAX,
                          UINT64_MAX,                     UINT64_MAX,                     UINT64_MAX,                     UINT64_MAX,
      UINT64_C(12653981496456803908), UINT64_C( 1835515689982279020),                     UINT64_MAX, UINT64_C( 7966339055641544447),
      UINT64_C(11413425690021148820),                     UINT64_MAX,                     UINT64_MAX, UINT64_C(16207525200603262548),
      UINT64_C(17634680610252780266), UINT64_C(12360799333549793384), UINT64_C(18137735841724045360), UINT64_C( 8614090375679236956),
      UINT64_C( 9358847365312946263), UINT64_C(10473951479988813358),                     UINT64_MAX, UINT64_C(16111889939656090771),
                          UINT64_MAX,                     UINT64_MAX, UINT64_C(17076076769170989281), UINT64_C( 6554609157697068685),
                          UINT64_MAX, UINT64_C(15728187251292849975), UINT64_C(17844410076431581790),                     UINT64_MAX,
      UINT64_C(17963277546140178885),                     UINT64_MAX,                     UINT64_MAX, UINT64_C(12975701683909355925),
      UINT64_C(10179878864346776204),                     UINT64_MAX,                     UINT64_MAX,                     UINT64_MAX,
                          UINT64_MAX, UINT64_C( 1495051952292899691),                     UINT64_MAX,                     UINT64_MAX,
                          UINT64_MAX,                     UINT64_MAX,                     UINT64_MAX, UINT64_C( 8417325468474341650),
      UINT64_C(13474343456742991646),                     UINT64_MAX,                     UINT64_MAX,                     UINT64_MAX,
                          UINT64_MAX,                     UINT64_MAX, UINT64_C( 8686961317002089775), UINT64_C(13713772180805710426),
      UINT64_C(17322151573070328940),                     UINT64_MAX,                     UINT64_MAX,                     UINT64_MAX,
      UINT64_C(18372342024633849586),                     UINT64_MAX,                     UINT64_MAX, UINT64_C( 9333107207725141974),
                          UINT64_MAX,                     UINT64_MAX, UINT64_C(17376971057542056930),                     UINT64_MAX,
      UINT64_C(14385446965413825979), UINT64_C(16868188455113549024),                     UINT64_MAX, UINT64_C(14161370057422412131),
                          UINT64_MAX };

  static uint64_t r[sizeof(e) / sizeof(e[0])];
  static const int32_t len = HEDLEY_STATIC_CAST(int32_t, sizeof(e) / sizeof(e[0]));
  int32_t i = 0;
  simde_svbool_t pg = simde_svwhilelt_b64_s32(i, len);
  while (simde_svptest_first(simde_svptrue_b64(), pg)) {
    simde_svuint64_t
      rv,
      av = simde_svld1_u64(pg, &(a[i])),
      bv = simde_svld1_u64(pg, &(b[i]));

    rv = simde_svqadd_u64(av, bv);

    simde_svst1_u64(pg, &(r[i]), rv);

    i += simde_svcntd();
    pg = simde_svwhilelt_b64_s32(i, len);
  }

  simde_assert_equal_vu64(len, e, r);

  return 0;
#else
  uint64_t a[1024 / sizeof(int64_t)], b[1024 / sizeof(int64_t)], e[1024 / sizeof(int64_t)];
  int32_t len = simde_test_arm_sve_random_length(sizeof(e), sizeof(e[0]));

  fputc('\n', stdout);

  simde_test_codegen_random_memory(sizeof(a), HEDLEY_REINTERPRET_CAST(uint8_t*, a));
  simde_test_codegen_random_memory(sizeof(b), HEDLEY_REINTERPRET_CAST(uint8_t*, b));

  int32_t i = 0;
  simde_svbool_t pg = simde_svwhilelt_b64_s32(i, len);
  while (simde_svptest_first(simde_svptrue_b64(), pg)) {
    simde_svuint64_t av, bv, ev;

    av = simde_svld1_u64(pg, &(a[i]));
    bv = simde_svld1_u64(pg, &(b[i]));

    ev = simde_svqadd_u64(av, bv);

    simde_svst1_u64(pg, &(e[i]), ev);

    i += simde_svcntd();
    pg = simde_svwhilelt_b64_s32(i, len);
  }

  simde_test_codegen_write_1vu64(1, HEDLEY_STATIC_CAST(size_t, len), a);
  simde_test_codegen_write_1vu64(1, HEDLEY_STATIC_CAST(size_t, len), b);
  simde_test_codegen_write_1vu64(1, HEDLEY_STATIC_CAST(size_t, len), e);

  return 1;
#endif
}

static int
test_simde_svqadd_n_s8 (SIMDE_MUNIT_TEST_ARGS) {
#if 1
  static const int8_t a[] =
    { -INT8_C(  19), -INT8_C(  20),  INT8_C(  51),  INT8_C(   8),  INT8_C(  16),  INT8_C(  86),  INT8_C( 119), -INT8_C(  75),
           INT8_MIN, -INT8_C( 126), -INT8_C( 106),  INT8_C(   0),  INT8_C(  85),  INT8_C(   0),  INT8_C(   0),  INT8_C(   0),
       INT8_C(   0),  INT8_C(   0),  INT8_C(   0),  INT8_C(   0),  INT8_C(   0),  INT8_C(   0),  INT8_C(   0),  INT8_C(   0),
       INT8_C(   0),  INT8_C(   0),  INT8_C(   0),  INT8_C(   0), -INT8_C( 112), -INT8_C(  68),  INT8_C(  81),  INT8_C(  33),
       INT8_C(   0),  INT8_C(   0),  INT8_C(   0),  INT8_C(   0),  INT8_C( 117),  INT8_C(   0),  INT8_C(   0),  INT8_C(   0),
       INT8_C(  56),  INT8_C(  10),      INT8_MIN,  INT8_C(   0),  INT8_C(  85),  INT8_C(   0),  INT8_C(   0),  INT8_C(   0),
       INT8_C(   8),  INT8_C(   0),  INT8_C(   0),  INT8_C(   0),  INT8_C(   0),  INT8_C(   0),  INT8_C(   0),  INT8_C(   0),
       INT8_C(   0),  INT8_C(   0),  INT8_C(   0),  INT8_C(   0),  INT8_C(   0),  INT8_C(   0),  INT8_C(   0),  INT8_C(   0),
       INT8_C(   0),  INT8_C(   0),  INT8_C(   0),  INT8_C(   0), -INT8_C(  48),  INT8_C(  17), -INT8_C(  45),  INT8_C(  20),
      -INT8_C(   1), -INT8_C(   1), -INT8_C(   1), -INT8_C(   1), -INT8_C(   1), -INT8_C(   1), -INT8_C(   1), -INT8_C(   1),
       INT8_C(   0),  INT8_C(   0),  INT8_C(   0),  INT8_C(   0), -INT8_C( 109),  INT8_C(  50), -INT8_C( 109), -INT8_C(  26),
       INT8_C(   0),  INT8_C(   0),  INT8_C(   0),  INT8_C(   0), -INT8_C(  43), -INT8_C(  48), -INT8_C(  25),  INT8_C(  35),
       INT8_C(  10),  INT8_C(   0),  INT8_C(   0),  INT8_C(   0), -INT8_C(  99),  INT8_C(  32), -INT8_C(  28),  INT8_C(  96),
       INT8_C(  10),  INT8_C(   0),  INT8_C(   0),  INT8_C(   0),  INT8_C(   0),  INT8_C(   0),  INT8_C(   0),  INT8_C(   0),
      -INT8_C(  56),      INT8_MAX, -INT8_C( 106),  INT8_C(   0),  INT8_C(  85),  INT8_C(   0),  INT8_C(   0),  INT8_C(   0),
      -INT8_C(   8),  INT8_C(   5),      INT8_MIN,  INT8_C(   0),  INT8_C(  85),  INT8_C(   0),  INT8_C(   0),  INT8_C(   0),
       INT8_C(  10),  INT8_C(   0),  INT8_C(   0),  INT8_C(   0),  INT8_C(   2),  INT8_C(   0),  INT8_C(   0),  INT8_C(   0),
       INT8_C(  32),  INT8_C(  11),      INT8_MIN,  INT8_C(   0),  INT8_C(  85),  INT8_C(   0),  INT8_C(   0),  INT8_C(   0),
       INT8_C(   0),  INT8_C(   0),  INT8_C(   0),  INT8_C(   0),  INT8_C(   0),  INT8_C(   0),  INT8_C(   0),  INT8_C(   0),
       INT8_C(  80),  INT8_C(  11),      INT8_MIN,  INT8_C(   0),  INT8_C(  85),  INT8_C(   0),  INT8_C(   0),  INT8_C(   0),
       INT8_C(  32),  INT8_C(   0),  INT8_C(   0),  INT8_C(   0),  INT8_C(   0),  INT8_C(   0),  INT8_C(   0),  INT8_C(   0),
       INT8_C(   0),  INT8_C(   0),  INT8_C(   0),  INT8_C(   0),      INT8_MIN, -INT8_C(   1), -INT8_C(   1), -INT8_C(   1),
       INT8_C(   0),  INT8_C(   0),  INT8_C(   0),  INT8_C(   0), -INT8_C(  65),  INT8_C(  57), -INT8_C(  36), -INT8_C( 120),
      -INT8_C(  48),  INT8_C(  11),  INT8_C(   0),  INT8_C(   0),  INT8_C(   0),  INT8_C(   0),  INT8_C(   0),  INT8_C(   0),
      -INT8_C(  32), -INT8_C(   1), -INT8_C(   1), -INT8_C(   1),  INT8_C(   0),  INT8_C(   0),  INT8_C(   0),  INT8_C(   0),
      -INT8_C(  18), -INT8_C(   9),  INT8_C(  50), -INT8_C( 120), -INT8_C(  10),  INT8_C(  37),  INT8_C(  25), -INT8_C(  25),
      -INT8_C(  10), -INT8_C(  94), -INT8_C(  56), -INT8_C(  75), -INT8_C(  36), -INT8_C(  92),  INT8_C(  61),  INT8_C( 123),
       INT8_C(  90),  INT8_C(  57),  INT8_C(  28), -INT8_C(  21),  INT8_C(  84), -INT8_C(  25), -INT8_C(  88),  INT8_C(   7),
      -INT8_C(  95),  INT8_C(   0), -INT8_C(  77),  INT8_C( 111),  INT8_C( 126),  INT8_C(  50),  INT8_C(  97),  INT8_C( 108),
       INT8_C(  41), -INT8_C( 109), -INT8_C(  12),  INT8_C(  31), -INT8_C(  71),  INT8_C(  14),  INT8_C(   6), -INT8_C(  81),
      -INT8_C(  37),  INT8_C(  90),  INT8_C(  64),  INT8_C(   0),  INT8_C(   0),  INT8_C(   0),  INT8_C(   0),  INT8_C(   0),
      -INT8_C(  36),  INT8_C(  35), -INT8_C(  72),  INT8_C(  48),  INT8_C(  10),  INT8_C(  97),  INT8_C(  55), -INT8_C(  85),
       INT8_C(  97), -INT8_C(  22),  INT8_C(  27), -INT8_C(  32),  INT8_C(  28),  INT8_C( 124),  INT8_C(  76),  INT8_C(  69),
       INT8_C(  16),  INT8_C(  65),  INT8_C( 100), -INT8_C(  55),  INT8_C(  79),  INT8_C( 106),  INT8_C( 120), -INT8_C(   1),
       INT8_C(  57), -INT8_C(  35), -INT8_C( 116), -INT8_C(  84),      INT8_MIN, -INT8_C( 109),  INT8_C( 121),  INT8_C(  92),
      -INT8_C(  73),  INT8_C(  49), -INT8_C( 116), -INT8_C(  63), -INT8_C( 110), -INT8_C(  61),  INT8_C( 109), -INT8_C(  12),
      -INT8_C(  82), -INT8_C( 120), -INT8_C(  44), -INT8_C(  54),  INT8_C(   4),  INT8_C(  32),  INT8_C(  16),  INT8_C(  20),
       INT8_C(  97),  INT8_C( 116), -INT8_C(  35), -INT8_C(  80), -INT8_C(  33),  INT8_C(  86), -INT8_C(  80),  INT8_C(  24),
       INT8_C(  80),  INT8_C(  11),      INT8_MIN,  INT8_C(   0),  INT8_C(  85),  INT8_C(   0),  INT8_C(   0),  INT8_C(   0),
       INT8_C(  80),  INT8_C(  11),      INT8_MIN,  INT8_C(   0),  INT8_C(  85),  INT8_C(   0),  INT8_C(   0),  INT8_C(   0),
       INT8_C(  32),  INT8_C(  11),      INT8_MIN,  INT8_C(   0),  INT8_C(  85),  INT8_C(   0),  INT8_C(   0),  INT8_C(   0),
      -INT8_C(  48), -INT8_C(   1), -INT8_C(   1), -INT8_C(   1),      INT8_MIN, -INT8_C(   1), -INT8_C(   1), -INT8_C(   1),
       INT8_C(  64), -INT8_C(  55), -INT8_C( 120),  INT8_C(   0),  INT8_C(  85),  INT8_C(   0),  INT8_C(   0),  INT8_C(   0),
           INT8_MIN, -INT8_C(  11), -INT8_C( 102),  INT8_C(   0),  INT8_C(  85),  INT8_C(   0),  INT8_C(   0),  INT8_C(   0),
      -INT8_C( 127),  INT8_C(  95), -INT8_C(  71),  INT8_C( 107),  INT8_C(  70),  INT8_C(  15), -INT8_C(  74), -INT8_C(  94),
       INT8_C(  66), -INT8_C(  79), -INT8_C(  35), -INT8_C(  52),  INT8_C(  93),  INT8_C(  48), -INT8_C( 119),  INT8_C(  68),
       INT8_C(  71), -INT8_C(   7), -INT8_C(   5), -INT8_C( 101),  INT8_C( 121),  INT8_C(  57),  INT8_C(  94), -INT8_C( 107),
      -INT8_C(  66),  INT8_C(  33),  INT8_C(  15), -INT8_C(   7), -INT8_C(  38), -INT8_C( 105),  INT8_C( 112),  INT8_C(  91),
      -INT8_C(  10),  INT8_C(  41), -INT8_C(  58),  INT8_C(  60),  INT8_C(  56),  INT8_C( 124), -INT8_C(  33),  INT8_C( 123),
       INT8_C(  46), -INT8_C(  68),  INT8_C(  71), -INT8_C( 117), -INT8_C(  19), -INT8_C(  48), -INT8_C(  49),  INT8_C(  52),
      -INT8_C(  55), -INT8_C(  53), -INT8_C(  48),  INT8_C(  67),  INT8_C(   4),  INT8_C(  46), -INT8_C(  40), -INT8_C(  62),
       INT8_C(  79), -INT8_C(  25), -INT8_C(  69),  INT8_C(  41),  INT8_C( 126),  INT8_C(  44), -INT8_C( 123),  INT8_C( 116),
       INT8_C(  85),  INT8_C(  75), -INT8_C(  79), -INT8_C( 114), -INT8_C(  56), -INT8_C( 112),  INT8_C(   9), -INT8_C(  10),
       INT8_C(  76),  INT8_C(  80), -INT8_C( 127),  INT8_C(  57),  INT8_C(  32),  INT8_C(  80),  INT8_C( 110), -INT8_C(  23),
       INT8_C(  27),  INT8_C(  62),  INT8_C(  44),  INT8_C(  31),  INT8_C( 108),  INT8_C(   4), -INT8_C(  30), -INT8_C(  69),
      -INT8_C(  20), -INT8_C(  99), -INT8_C(  27),  INT8_C( 106), -INT8_C(  55),  INT8_C( 106), -INT8_C(  33),  INT8_C(  31),
      -INT8_C(  75), -INT8_C( 112), -INT8_C(  83),  INT8_C( 125),  INT8_C(  32), -INT8_C(  74),  INT8_C( 115),  INT8_C( 108),
       INT8_C(   6), -INT8_C(  12), -INT8_C(  90),  INT8_C(  38),  INT8_C(  69),  INT8_C(  20),  INT8_C(  15),  INT8_C(  96),
       INT8_C(  82),  INT8_C(  60),      INT8_MIN, -INT8_C(  66),  INT8_C(  64),  INT8_C(  98),  INT8_C( 121),  INT8_C(  44),
      -INT8_C(   1),  INT8_C(  94), -INT8_C( 105), -INT8_C(  55), -INT8_C(  56),  INT8_C( 118), -INT8_C(  24),  INT8_C( 126),
       INT8_C(   6), -INT8_C( 107), -INT8_C(   5),  INT8_C(  38),  INT8_C(  75),  INT8_C( 111), -INT8_C( 110),  INT8_C(  81),
       INT8_C(  99),  INT8_C(  56),  INT8_C( 119), -INT8_C(  88),  INT8_C(  76), -INT8_C( 122),  INT8_C(   9), -INT8_C(  98),
      -INT8_C(  62), -INT8_C( 119),  INT8_C(  92),  INT8_C(   3), -INT8_C(  21), -INT8_C(  42),  INT8_C(  47), -INT8_C(  22),
       INT8_C(  52), -INT8_C(  58), -INT8_C(  77), -INT8_C(   3),  INT8_C(  60), -INT8_C( 101),  INT8_C( 123),  INT8_C(  66),
       INT8_C(  48),  INT8_C( 118),  INT8_C( 104),  INT8_C( 123), -INT8_C(  27), -INT8_C(   5), -INT8_C(  52),  INT8_C(  73),
       INT8_C(  51),  INT8_C(  67), -INT8_C(  15),      INT8_MIN, -INT8_C(  54), -INT8_C(   6),  INT8_C(  30), -INT8_C( 116),
      -INT8_C( 125),  INT8_C( 123), -INT8_C( 113),  INT8_C( 110),  INT8_C(  81), -INT8_C(  65),  INT8_C(  89), -INT8_C( 123),
      -INT8_C( 123),  INT8_C(  12), -INT8_C( 126), -INT8_C(  62), -INT8_C(  88), -INT8_C(   3),  INT8_C(   4), -INT8_C(  40),
       INT8_C( 116),  INT8_C( 109),  INT8_C(  84),  INT8_C(  89),  INT8_C( 104),  INT8_C(  32), -INT8_C(  94), -INT8_C( 101),
       INT8_C( 100), -INT8_C( 108),  INT8_C(  27),  INT8_C(  46), -INT8_C( 114),  INT8_C(  58), -INT8_C(  70),  INT8_C(  18),
      -INT8_C(  75),  INT8_C(  74),      INT8_MIN,  INT8_C(   6),  INT8_C(   9), -INT8_C(  39), -INT8_C( 117), -INT8_C( 114),
      -INT8_C(  26),  INT8_C(  14),  INT8_C(  80), -INT8_C( 114),  INT8_C(  11),  INT8_C(  85),  INT8_C( 102),      INT8_MAX,
      -INT8_C(  62), -INT8_C(  70), -INT8_C(  39),  INT8_C(  42), -INT8_C(  37),  INT8_C( 123), -INT8_C(  59),  INT8_C(  63),
       INT8_C(  15), -INT8_C(  31),  INT8_C( 109), -INT8_C(  98),  INT8_C(  27),  INT8_C(  39), -INT8_C(  80), -INT8_C(  48),
       INT8_C( 113),  INT8_C(  48), -INT8_C(  42),  INT8_C( 122),  INT8_C(  10),  INT8_C(  97),  INT8_C(   9), -INT8_C(  16),
       INT8_C( 111),  INT8_C(  89),  INT8_C( 126),  INT8_C( 123), -INT8_C(  82), -INT8_C(  28), -INT8_C(   6),  INT8_C( 112),
      -INT8_C(  97), -INT8_C(  45), -INT8_C( 102),  INT8_C( 122),  INT8_C(  79),  INT8_C(  96), -INT8_C(  71),  INT8_C(  94),
       INT8_C(  65),  INT8_C(  38), -INT8_C(   4),  INT8_C(  92),  INT8_C(  77), -INT8_C(  84),  INT8_C(  44), -INT8_C(  65),
      -INT8_C(  35),  INT8_C(   2),  INT8_C(  57), -INT8_C(  25),  INT8_C(  99),  INT8_C(  66), -INT8_C(  41), -INT8_C(  45),
      -INT8_C( 100),  INT8_C(  85),  INT8_C(  78),  INT8_C(  74),  INT8_C(  57),  INT8_C(  72), -INT8_C(  69), -INT8_C(  40),
       INT8_C(  28),  INT8_C(  85),  INT8_C(  82),  INT8_C( 107), -INT8_C(  75),  INT8_C(  11), -INT8_C(  55), -INT8_C(  10),
       INT8_C(  49), -INT8_C(  58),  INT8_C(  82),      INT8_MAX,  INT8_C( 114),  INT8_C( 126),  INT8_C(  62),  INT8_C(  79),
           INT8_MIN,  INT8_C( 119),  INT8_C(  54), -INT8_C(  28), -INT8_C(  70),  INT8_C(  13), -INT8_C(  73),  INT8_C(  86),
       INT8_C(  98),  INT8_C(   5), -INT8_C(  96), -INT8_C( 100),  INT8_C(  77),  INT8_C(  91),  INT8_C( 116),  INT8_C( 105),
      -INT8_C(  79), -INT8_C(  57), -INT8_C(  44),  INT8_C( 102), -INT8_C(  46), -INT8_C(  98),  INT8_C(  93),  INT8_C(   4),
       INT8_C( 100), -INT8_C(  81), -INT8_C( 125), -INT8_C(  42),  INT8_C(  46), -INT8_C(  63),  INT8_C(  38), -INT8_C(  82),
       INT8_C(  56),  INT8_C(  92), -INT8_C( 110), -INT8_C(  14),  INT8_C( 106),  INT8_C(  73),  INT8_C(  72), -INT8_C(  52),
       INT8_C(  78), -INT8_C(  23),  INT8_C( 104), -INT8_C( 100),  INT8_C(  68), -INT8_C(  35),  INT8_C(   5), -INT8_C(  11),
      -INT8_C(  92), -INT8_C(  38),  INT8_C(  92),  INT8_C( 118),  INT8_C( 120), -INT8_C(  71),  INT8_C( 122), -INT8_C(  36),
       INT8_C( 104), -INT8_C(   3), -INT8_C(  78), -INT8_C( 106), -INT8_C(  66), -INT8_C(  40),  INT8_C(  69), -INT8_C(   9),
       INT8_C(  53), -INT8_C(  41), -INT8_C(  23), -INT8_C(  97),  INT8_C(  33),  INT8_C(  50),  INT8_C( 107),  INT8_C( 111),
       INT8_C(  27), -INT8_C(  44),  INT8_C(  11),  INT8_C(  95), -INT8_C(  79),  INT8_C(  17),  INT8_C(  85),  INT8_C(  85),
      -INT8_C(  21), -INT8_C(  79), -INT8_C(  53),  INT8_C(  99),  INT8_C( 106),  INT8_C(  70),  INT8_C(  63), -INT8_C(  46),
       INT8_C(  67), -INT8_C(  15),  INT8_C( 105),  INT8_C(   2), -INT8_C(  54), -INT8_C(  82), -INT8_C(   7), -INT8_C(   1),
      -INT8_C( 123), -INT8_C(  30), -INT8_C(  98), -INT8_C(  90),  INT8_C(  20),  INT8_C(   9),  INT8_C(  22),  INT8_C(  47),
      -INT8_C(  35),  INT8_C(  33), -INT8_C( 113), -INT8_C( 114),  INT8_C(  50), -INT8_C(  28), -INT8_C(  29),  INT8_C(  29),
      -INT8_C( 107), -INT8_C(  81),      INT8_MIN, -INT8_C(   1), -INT8_C(  11), -INT8_C(  65), -INT8_C(  47),  INT8_C(  56),
      -INT8_C(  79),  INT8_C(  58),  INT8_C(  58),  INT8_C( 123), -INT8_C(  24),  INT8_C(  51),  INT8_C( 122),  INT8_C( 110),
       INT8_C(  22),  INT8_C(  24),  INT8_C(  20),  INT8_C(  42),  INT8_C(  33),  INT8_C(  42),  INT8_C(  90), -INT8_C(   1),
       INT8_C(  76), -INT8_C(  23), -INT8_C( 115),  INT8_C( 126), -INT8_C(  51),  INT8_C( 113), -INT8_C( 100),  INT8_C(  98),
       INT8_C(  32),  INT8_C(  28),  INT8_C(  97),  INT8_C(  21), -INT8_C(  36),  INT8_C(  50),  INT8_C(  77), -INT8_C( 115),
       INT8_C( 109), -INT8_C( 120),  INT8_C(   8),  INT8_C(  85), -INT8_C(  69), -INT8_C( 126), -INT8_C(  61) };
  static const int8_t b =  INT8_C( 119);
  static const int8_t e[] =
    {  INT8_C( 100),  INT8_C(  99),      INT8_MAX,      INT8_MAX,      INT8_MAX,      INT8_MAX,      INT8_MAX,  INT8_C(  44),
      -INT8_C(   9), -INT8_C(   7),  INT8_C(  13),  INT8_C( 119),      INT8_MAX,  INT8_C( 119),  INT8_C( 119),  INT8_C( 119),
       INT8_C( 119),  INT8_C( 119),  INT8_C( 119),  INT8_C( 119),  INT8_C( 119),  INT8_C( 119),  INT8_C( 119),  INT8_C( 119),
       INT8_C( 119),  INT8_C( 119),  INT8_C( 119),  INT8_C( 119),  INT8_C(   7),  INT8_C(  51),      INT8_MAX,      INT8_MAX,
       INT8_C( 119),  INT8_C( 119),  INT8_C( 119),  INT8_C( 119),      INT8_MAX,  INT8_C( 119),  INT8_C( 119),  INT8_C( 119),
           INT8_MAX,      INT8_MAX, -INT8_C(   9),  INT8_C( 119),      INT8_MAX,  INT8_C( 119),  INT8_C( 119),  INT8_C( 119),
           INT8_MAX,  INT8_C( 119),  INT8_C( 119),  INT8_C( 119),  INT8_C( 119),  INT8_C( 119),  INT8_C( 119),  INT8_C( 119),
       INT8_C( 119),  INT8_C( 119),  INT8_C( 119),  INT8_C( 119),  INT8_C( 119),  INT8_C( 119),  INT8_C( 119),  INT8_C( 119),
       INT8_C( 119),  INT8_C( 119),  INT8_C( 119),  INT8_C( 119),  INT8_C(  71),      INT8_MAX,  INT8_C(  74),      INT8_MAX,
       INT8_C( 118),  INT8_C( 118),  INT8_C( 118),  INT8_C( 118),  INT8_C( 118),  INT8_C( 118),  INT8_C( 118),  INT8_C( 118),
       INT8_C( 119),  INT8_C( 119),  INT8_C( 119),  INT8_C( 119),  INT8_C(  10),      INT8_MAX,  INT8_C(  10),  INT8_C(  93),
       INT8_C( 119),  INT8_C( 119),  INT8_C( 119),  INT8_C( 119),  INT8_C(  76),  INT8_C(  71),  INT8_C(  94),      INT8_MAX,
           INT8_MAX,  INT8_C( 119),  INT8_C( 119),  INT8_C( 119),  INT8_C(  20),      INT8_MAX,  INT8_C(  91),      INT8_MAX,
           INT8_MAX,  INT8_C( 119),  INT8_C( 119),  INT8_C( 119),  INT8_C( 119),  INT8_C( 119),  INT8_C( 119),  INT8_C( 119),
       INT8_C(  63),      INT8_MAX,  INT8_C(  13),  INT8_C( 119),      INT8_MAX,  INT8_C( 119),  INT8_C( 119),  INT8_C( 119),
       INT8_C( 111),  INT8_C( 124), -INT8_C(   9),  INT8_C( 119),      INT8_MAX,  INT8_C( 119),  INT8_C( 119),  INT8_C( 119),
           INT8_MAX,  INT8_C( 119),  INT8_C( 119),  INT8_C( 119),  INT8_C( 121),  INT8_C( 119),  INT8_C( 119),  INT8_C( 119),
           INT8_MAX,      INT8_MAX, -INT8_C(   9),  INT8_C( 119),      INT8_MAX,  INT8_C( 119),  INT8_C( 119),  INT8_C( 119),
       INT8_C( 119),  INT8_C( 119),  INT8_C( 119),  INT8_C( 119),  INT8_C( 119),  INT8_C( 119),  INT8_C( 119),  INT8_C( 119),
           INT8_MAX,      INT8_MAX, -INT8_C(   9),  INT8_C( 119),      INT8_MAX,  INT8_C( 119),  INT8_C( 119),  INT8_C( 119),
           INT8_MAX,  INT8_C( 119),  INT8_C( 119),  INT8_C( 119),  INT8_C( 119),  INT8_C( 119),  INT8_C( 119),  INT8_C( 119),
       INT8_C( 119),  INT8_C( 119),  INT8_C( 119),  INT8_C( 119), -INT8_C(   9),  INT8_C( 118),  INT8_C( 118),  INT8_C( 118),
       INT8_C( 119),  INT8_C( 119),  INT8_C( 119),  INT8_C( 119),  INT8_C(  54),      INT8_MAX,  INT8_C(  83), -INT8_C(   1),
       INT8_C(  71),      INT8_MAX,  INT8_C( 119),  INT8_C( 119),  INT8_C( 119),  INT8_C( 119),  INT8_C( 119),  INT8_C( 119),
       INT8_C(  87),  INT8_C( 118),  INT8_C( 118),  INT8_C( 118),  INT8_C( 119),  INT8_C( 119),  INT8_C( 119),  INT8_C( 119),
       INT8_C( 101),  INT8_C( 110),      INT8_MAX, -INT8_C(   1),  INT8_C( 109),      INT8_MAX,      INT8_MAX,  INT8_C(  94),
       INT8_C( 109),  INT8_C(  25),  INT8_C(  63),  INT8_C(  44),  INT8_C(  83),  INT8_C(  27),      INT8_MAX,      INT8_MAX,
           INT8_MAX,      INT8_MAX,      INT8_MAX,  INT8_C(  98),      INT8_MAX,  INT8_C(  94),  INT8_C(  31),  INT8_C( 126),
       INT8_C(  24),  INT8_C( 119),  INT8_C(  42),      INT8_MAX,      INT8_MAX,      INT8_MAX,      INT8_MAX,      INT8_MAX,
           INT8_MAX,  INT8_C(  10),  INT8_C( 107),      INT8_MAX,  INT8_C(  48),      INT8_MAX,  INT8_C( 125),  INT8_C(  38),
       INT8_C(  82),      INT8_MAX,      INT8_MAX,  INT8_C( 119),  INT8_C( 119),  INT8_C( 119),  INT8_C( 119),  INT8_C( 119),
       INT8_C(  83),      INT8_MAX,  INT8_C(  47),      INT8_MAX,      INT8_MAX,      INT8_MAX,      INT8_MAX,  INT8_C(  34),
           INT8_MAX,  INT8_C(  97),      INT8_MAX,  INT8_C(  87),      INT8_MAX,      INT8_MAX,      INT8_MAX,      INT8_MAX,
           INT8_MAX,      INT8_MAX,      INT8_MAX,  INT8_C(  64),      INT8_MAX,      INT8_MAX,      INT8_MAX,  INT8_C( 118),
           INT8_MAX,  INT8_C(  84),  INT8_C(   3),  INT8_C(  35), -INT8_C(   9),  INT8_C(  10),      INT8_MAX,      INT8_MAX,
       INT8_C(  46),      INT8_MAX,  INT8_C(   3),  INT8_C(  56),  INT8_C(   9),  INT8_C(  58),      INT8_MAX,  INT8_C( 107),
       INT8_C(  37), -INT8_C(   1),  INT8_C(  75),  INT8_C(  65),  INT8_C( 123),      INT8_MAX,      INT8_MAX,      INT8_MAX,
           INT8_MAX,      INT8_MAX,  INT8_C(  84),  INT8_C(  39),  INT8_C(  86),      INT8_MAX,  INT8_C(  39),      INT8_MAX,
           INT8_MAX,      INT8_MAX, -INT8_C(   9),  INT8_C( 119),      INT8_MAX,  INT8_C( 119),  INT8_C( 119),  INT8_C( 119),
           INT8_MAX,      INT8_MAX, -INT8_C(   9),  INT8_C( 119),      INT8_MAX,  INT8_C( 119),  INT8_C( 119),  INT8_C( 119),
           INT8_MAX,      INT8_MAX, -INT8_C(   9),  INT8_C( 119),      INT8_MAX,  INT8_C( 119),  INT8_C( 119),  INT8_C( 119),
       INT8_C(  71),  INT8_C( 118),  INT8_C( 118),  INT8_C( 118), -INT8_C(   9),  INT8_C( 118),  INT8_C( 118),  INT8_C( 118),
           INT8_MAX,  INT8_C(  64), -INT8_C(   1),  INT8_C( 119),      INT8_MAX,  INT8_C( 119),  INT8_C( 119),  INT8_C( 119),
      -INT8_C(   9),  INT8_C( 108),  INT8_C(  17),  INT8_C( 119),      INT8_MAX,  INT8_C( 119),  INT8_C( 119),  INT8_C( 119),
      -INT8_C(   8),      INT8_MAX,  INT8_C(  48),      INT8_MAX,      INT8_MAX,      INT8_MAX,  INT8_C(  45),  INT8_C(  25),
           INT8_MAX,  INT8_C(  40),  INT8_C(  84),  INT8_C(  67),      INT8_MAX,      INT8_MAX,  INT8_C(   0),      INT8_MAX,
           INT8_MAX,  INT8_C( 112),  INT8_C( 114),  INT8_C(  18),      INT8_MAX,      INT8_MAX,      INT8_MAX,  INT8_C(  12),
       INT8_C(  53),      INT8_MAX,      INT8_MAX,  INT8_C( 112),  INT8_C(  81),  INT8_C(  14),      INT8_MAX,      INT8_MAX,
       INT8_C( 109),      INT8_MAX,  INT8_C(  61),      INT8_MAX,      INT8_MAX,      INT8_MAX,  INT8_C(  86),      INT8_MAX,
           INT8_MAX,  INT8_C(  51),      INT8_MAX,  INT8_C(   2),  INT8_C( 100),  INT8_C(  71),  INT8_C(  70),      INT8_MAX,
       INT8_C(  64),  INT8_C(  66),  INT8_C(  71),      INT8_MAX,  INT8_C( 123),      INT8_MAX,  INT8_C(  79),  INT8_C(  57),
           INT8_MAX,  INT8_C(  94),  INT8_C(  50),      INT8_MAX,      INT8_MAX,      INT8_MAX, -INT8_C(   4),      INT8_MAX,
           INT8_MAX,      INT8_MAX,  INT8_C(  40),  INT8_C(   5),  INT8_C(  63),  INT8_C(   7),      INT8_MAX,  INT8_C( 109),
           INT8_MAX,      INT8_MAX, -INT8_C(   8),      INT8_MAX,      INT8_MAX,      INT8_MAX,      INT8_MAX,  INT8_C(  96),
           INT8_MAX,      INT8_MAX,      INT8_MAX,      INT8_MAX,      INT8_MAX,  INT8_C( 123),  INT8_C(  89),  INT8_C(  50),
       INT8_C(  99),  INT8_C(  20),  INT8_C(  92),      INT8_MAX,  INT8_C(  64),      INT8_MAX,  INT8_C(  86),      INT8_MAX,
       INT8_C(  44),  INT8_C(   7),  INT8_C(  36),      INT8_MAX,      INT8_MAX,  INT8_C(  45),      INT8_MAX,      INT8_MAX,
       INT8_C( 125),  INT8_C( 107),  INT8_C(  29),      INT8_MAX,      INT8_MAX,      INT8_MAX,      INT8_MAX,      INT8_MAX,
           INT8_MAX,      INT8_MAX, -INT8_C(   9),  INT8_C(  53),      INT8_MAX,      INT8_MAX,      INT8_MAX,      INT8_MAX,
       INT8_C( 118),      INT8_MAX,  INT8_C(  14),  INT8_C(  64),  INT8_C(  63),      INT8_MAX,  INT8_C(  95),      INT8_MAX,
       INT8_C( 125),  INT8_C(  12),  INT8_C( 114),      INT8_MAX,      INT8_MAX,      INT8_MAX,  INT8_C(   9),      INT8_MAX,
           INT8_MAX,      INT8_MAX,      INT8_MAX,  INT8_C(  31),      INT8_MAX, -INT8_C(   3),      INT8_MAX,  INT8_C(  21),
       INT8_C(  57),  INT8_C(   0),      INT8_MAX,  INT8_C( 122),  INT8_C(  98),  INT8_C(  77),      INT8_MAX,  INT8_C(  97),
           INT8_MAX,  INT8_C(  61),  INT8_C(  42),  INT8_C( 116),      INT8_MAX,  INT8_C(  18),      INT8_MAX,      INT8_MAX,
           INT8_MAX,      INT8_MAX,      INT8_MAX,      INT8_MAX,  INT8_C(  92),  INT8_C( 114),  INT8_C(  67),      INT8_MAX,
           INT8_MAX,      INT8_MAX,  INT8_C( 104), -INT8_C(   9),  INT8_C(  65),  INT8_C( 113),      INT8_MAX,  INT8_C(   3),
      -INT8_C(   6),      INT8_MAX,  INT8_C(   6),      INT8_MAX,      INT8_MAX,  INT8_C(  54),      INT8_MAX, -INT8_C(   4),
      -INT8_C(   4),      INT8_MAX, -INT8_C(   7),  INT8_C(  57),  INT8_C(  31),  INT8_C( 116),  INT8_C( 123),  INT8_C(  79),
           INT8_MAX,      INT8_MAX,      INT8_MAX,      INT8_MAX,      INT8_MAX,      INT8_MAX,  INT8_C(  25),  INT8_C(  18),
           INT8_MAX,  INT8_C(  11),      INT8_MAX,      INT8_MAX,  INT8_C(   5),      INT8_MAX,  INT8_C(  49),      INT8_MAX,
       INT8_C(  44),      INT8_MAX, -INT8_C(   9),  INT8_C( 125),      INT8_MAX,  INT8_C(  80),  INT8_C(   2),  INT8_C(   5),
       INT8_C(  93),      INT8_MAX,      INT8_MAX,  INT8_C(   5),      INT8_MAX,      INT8_MAX,      INT8_MAX,      INT8_MAX,
       INT8_C(  57),  INT8_C(  49),  INT8_C(  80),      INT8_MAX,  INT8_C(  82),      INT8_MAX,  INT8_C(  60),      INT8_MAX,
           INT8_MAX,  INT8_C(  88),      INT8_MAX,  INT8_C(  21),      INT8_MAX,      INT8_MAX,  INT8_C(  39),  INT8_C(  71),
           INT8_MAX,      INT8_MAX,  INT8_C(  77),      INT8_MAX,      INT8_MAX,      INT8_MAX,      INT8_MAX,  INT8_C( 103),
           INT8_MAX,      INT8_MAX,      INT8_MAX,      INT8_MAX,  INT8_C(  37),  INT8_C(  91),  INT8_C( 113),      INT8_MAX,
       INT8_C(  22),  INT8_C(  74),  INT8_C(  17),      INT8_MAX,      INT8_MAX,      INT8_MAX,  INT8_C(  48),      INT8_MAX,
           INT8_MAX,      INT8_MAX,  INT8_C( 115),      INT8_MAX,      INT8_MAX,  INT8_C(  35),      INT8_MAX,  INT8_C(  54),
       INT8_C(  84),  INT8_C( 121),      INT8_MAX,  INT8_C(  94),      INT8_MAX,      INT8_MAX,  INT8_C(  78),  INT8_C(  74),
       INT8_C(  19),      INT8_MAX,      INT8_MAX,      INT8_MAX,      INT8_MAX,      INT8_MAX,  INT8_C(  50),  INT8_C(  79),
           INT8_MAX,      INT8_MAX,      INT8_MAX,      INT8_MAX,  INT8_C(  44),      INT8_MAX,  INT8_C(  64),  INT8_C( 109),
           INT8_MAX,  INT8_C(  61),      INT8_MAX,      INT8_MAX,      INT8_MAX,      INT8_MAX,      INT8_MAX,      INT8_MAX,
      -INT8_C(   9),      INT8_MAX,      INT8_MAX,  INT8_C(  91),  INT8_C(  49),      INT8_MAX,  INT8_C(  46),      INT8_MAX,
           INT8_MAX,  INT8_C( 124),  INT8_C(  23),  INT8_C(  19),      INT8_MAX,      INT8_MAX,      INT8_MAX,      INT8_MAX,
       INT8_C(  40),  INT8_C(  62),  INT8_C(  75),      INT8_MAX,  INT8_C(  73),  INT8_C(  21),      INT8_MAX,  INT8_C( 123),
           INT8_MAX,  INT8_C(  38), -INT8_C(   6),  INT8_C(  77),      INT8_MAX,  INT8_C(  56),      INT8_MAX,  INT8_C(  37),
           INT8_MAX,      INT8_MAX,  INT8_C(   9),  INT8_C( 105),      INT8_MAX,      INT8_MAX,      INT8_MAX,  INT8_C(  67),
           INT8_MAX,  INT8_C(  96),      INT8_MAX,  INT8_C(  19),      INT8_MAX,  INT8_C(  84),  INT8_C( 124),  INT8_C( 108),
       INT8_C(  27),  INT8_C(  81),      INT8_MAX,      INT8_MAX,      INT8_MAX,  INT8_C(  48),      INT8_MAX,  INT8_C(  83),
           INT8_MAX,  INT8_C( 116),  INT8_C(  41),  INT8_C(  13),  INT8_C(  53),  INT8_C(  79),      INT8_MAX,  INT8_C( 110),
           INT8_MAX,  INT8_C(  78),  INT8_C(  96),  INT8_C(  22),      INT8_MAX,      INT8_MAX,      INT8_MAX,      INT8_MAX,
           INT8_MAX,  INT8_C(  75),      INT8_MAX,      INT8_MAX,  INT8_C(  40),      INT8_MAX,      INT8_MAX,      INT8_MAX,
       INT8_C(  98),  INT8_C(  40),  INT8_C(  66),      INT8_MAX,      INT8_MAX,      INT8_MAX,      INT8_MAX,  INT8_C(  73),
           INT8_MAX,  INT8_C( 104),      INT8_MAX,  INT8_C( 121),  INT8_C(  65),  INT8_C(  37),  INT8_C( 112),  INT8_C( 118),
      -INT8_C(   4),  INT8_C(  89),  INT8_C(  21),  INT8_C(  29),      INT8_MAX,      INT8_MAX,      INT8_MAX,      INT8_MAX,
       INT8_C(  84),      INT8_MAX,  INT8_C(   6),  INT8_C(   5),      INT8_MAX,  INT8_C(  91),  INT8_C(  90),      INT8_MAX,
       INT8_C(  12),  INT8_C(  38), -INT8_C(   9),  INT8_C( 118),  INT8_C( 108),  INT8_C(  54),  INT8_C(  72),      INT8_MAX,
       INT8_C(  40),      INT8_MAX,      INT8_MAX,      INT8_MAX,  INT8_C(  95),      INT8_MAX,      INT8_MAX,      INT8_MAX,
           INT8_MAX,      INT8_MAX,      INT8_MAX,      INT8_MAX,      INT8_MAX,      INT8_MAX,      INT8_MAX,  INT8_C( 118),
           INT8_MAX,  INT8_C(  96),  INT8_C(   4),      INT8_MAX,  INT8_C(  68),      INT8_MAX,  INT8_C(  19),      INT8_MAX,
           INT8_MAX,      INT8_MAX,      INT8_MAX,      INT8_MAX,  INT8_C(  83),      INT8_MAX,      INT8_MAX,  INT8_C(   4),
           INT8_MAX, -INT8_C(   1),      INT8_MAX,      INT8_MAX,  INT8_C(  50), -INT8_C(   7),  INT8_C(  58) };

  static int8_t r[sizeof(e) / sizeof(e[0])];
  static const int32_t len = HEDLEY_STATIC_CAST(int32_t, sizeof(e) / sizeof(e[0]));
  int32_t i = 0;
  simde_svbool_t pg = simde_svwhilelt_b8_s32(i, len);
  while (simde_svptest_first(simde_svptrue_b8(), pg)) {
    simde_svint8_t
      rv,
      av = simde_svld1_s8(pg, &(a[i]));

    rv = simde_svqadd_n_s8(av, b);

    simde_svst1_s8(pg, &(r[i]), rv);

    i += simde_svcntb();
    pg = simde_svwhilelt_b8_s32(i, len);
  }

  simde_assert_equal_vi8(len, e, r);

  return 0;
#else
  int8_t a[1024], b, e[1024];
  int32_t len = simde_test_arm_sve_random_length(sizeof(e), sizeof(e[0]));

  fputc('\n', stdout);

  simde_test_codegen_random_memory(sizeof(b), HEDLEY_REINTERPRET_CAST(uint8_t*, a));
  b = simde_test_codegen_random_i8();

  int32_t i = 0;
  simde_svbool_t pg = simde_svwhilelt_b8_s32(i, len);
  while (simde_svptest_first(simde_svptrue_b8(), pg)) {
    simde_svint8_t av, ev;

    av = simde_svld1_s8(pg, &(a[i]));

    ev = simde_svqadd_n_s8(av, b);

    simde_svst1_s8(pg, &(e[i]), ev);

    i += simde_svcntb();
    pg = simde_svwhilelt_b8_s32(i, len);
  }

  simde_test_codegen_write_1vi8(1, HEDLEY_STATIC_CAST(size_t, len), a);
  simde_test_codegen_write_1i8(1, b);
  simde_test_codegen_write_1vi8(1, HEDLEY_STATIC_CAST(size_t, len), e);

  return 1;
#endif
}

static int
test_simde_svqadd_n_s16 (SIMDE_MUNIT_TEST_ARGS) {
#if 1
  static const int16_t a[] =
    { -INT16_C(  1733),  INT16_C( 30978), -INT16_C(  7950), -INT16_C(  9529), -INT16_C(  8990), -INT16_C(  4476),  INT16_C(  9276),  INT16_C( 25617),
       INT16_C( 20223), -INT16_C( 10347), -INT16_C( 31746), -INT16_C(  4772), -INT16_C(  4545), -INT16_C( 15555),  INT16_C( 28814), -INT16_C( 13582),
      -INT16_C(  2967),  INT16_C( 23363),  INT16_C(  2772), -INT16_C( 18634), -INT16_C( 17689),  INT16_C(  9125), -INT16_C( 18721), -INT16_C(  8569),
       INT16_C(  7172),  INT16_C(   693),  INT16_C(  4768), -INT16_C(  8209),  INT16_C( 11264), -INT16_C( 28766), -INT16_C( 27236),  INT16_C(  1369),
      -INT16_C( 25463),  INT16_C( 24161), -INT16_C( 26714), -INT16_C( 29419), -INT16_C( 17839),  INT16_C( 12464),  INT16_C( 14448),  INT16_C( 29711),
      -INT16_C( 15276), -INT16_C(  2954),  INT16_C( 26326), -INT16_C( 10284),  INT16_C( 30354),  INT16_C( 12134), -INT16_C( 16629), -INT16_C( 27340),
      -INT16_C( 27301),  INT16_C(   499),  INT16_C(  2092),  INT16_C( 32399),  INT16_C( 16322),  INT16_C( 12974), -INT16_C( 17033), -INT16_C( 13146),
       INT16_C(  7298),  INT16_C( 22720), -INT16_C( 27518),  INT16_C(  5423), -INT16_C( 27381),  INT16_C(  5700),  INT16_C( 30804), -INT16_C( 20565),
      -INT16_C( 25074),  INT16_C( 15025),  INT16_C( 16550),  INT16_C( 26808),  INT16_C( 26495), -INT16_C(  2150),  INT16_C( 16420), -INT16_C( 22845),
      -INT16_C( 31907), -INT16_C(  8193),  INT16_C( 11800),  INT16_C(  9204),  INT16_C( 14532),  INT16_C(  6201), -INT16_C(  6735), -INT16_C( 16440),
       INT16_C( 31107),  INT16_C( 11001), -INT16_C( 19783),  INT16_C( 14482),  INT16_C( 11545),  INT16_C( 15663), -INT16_C(  3475), -INT16_C( 13596),
      -INT16_C(  7306), -INT16_C( 29014), -INT16_C( 25071), -INT16_C( 10831), -INT16_C(  5417), -INT16_C( 30482), -INT16_C( 18737),  INT16_C( 21319),
       INT16_C( 16431), -INT16_C(  6019),  INT16_C(  4082),  INT16_C(  2848),  INT16_C( 20540), -INT16_C( 21943),  INT16_C( 11586), -INT16_C( 18316),
       INT16_C(  7696),  INT16_C(  8518), -INT16_C(  2115), -INT16_C( 27401), -INT16_C(  6686), -INT16_C( 20196),  INT16_C( 25499), -INT16_C( 13820),
      -INT16_C( 32349), -INT16_C( 26958), -INT16_C( 11631), -INT16_C( 12895), -INT16_C(  5598),  INT16_C( 25975), -INT16_C(  5097),  INT16_C( 10013),
       INT16_C( 25610), -INT16_C( 14519),  INT16_C( 16475),  INT16_C( 15707),  INT16_C( 30501), -INT16_C( 16145), -INT16_C(  3110),  INT16_C( 32394),
       INT16_C( 15477),  INT16_C(  1556), -INT16_C( 19186),  INT16_C( 12755),  INT16_C( 19360), -INT16_C( 18538), -INT16_C( 19657),  INT16_C( 16863),
       INT16_C( 10263),  INT16_C( 29449),  INT16_C( 25704), -INT16_C( 29264), -INT16_C( 24612), -INT16_C( 18867), -INT16_C( 10349),  INT16_C(  2100),
       INT16_C( 18451),  INT16_C(  8462), -INT16_C(  7682), -INT16_C( 25006), -INT16_C(  6100),  INT16_C( 25429),  INT16_C( 13468), -INT16_C( 19547),
      -INT16_C( 20900), -INT16_C( 15322), -INT16_C( 10478), -INT16_C(  4527), -INT16_C( 24970),  INT16_C(  2469), -INT16_C(  9867), -INT16_C( 30703),
       INT16_C(  7970),  INT16_C(  8362), -INT16_C(  1023),  INT16_C( 11710),  INT16_C(  5093), -INT16_C( 32367),  INT16_C( 13896), -INT16_C( 23500),
       INT16_C( 23524), -INT16_C(  2455), -INT16_C( 17870), -INT16_C( 22299), -INT16_C( 30119), -INT16_C( 12622), -INT16_C( 15517), -INT16_C( 31401),
       INT16_C(   483), -INT16_C(  7003),  INT16_C( 25597), -INT16_C(  7663), -INT16_C( 23945), -INT16_C( 16541), -INT16_C( 26408), -INT16_C( 17309),
      -INT16_C( 13069),  INT16_C(  9651), -INT16_C( 26489), -INT16_C(  7987),  INT16_C( 32546), -INT16_C( 31314),  INT16_C(  1347),  INT16_C(  9739),
      -INT16_C( 20474),  INT16_C(  1034),  INT16_C(  6932), -INT16_C( 29722),  INT16_C( 19134), -INT16_C( 27062), -INT16_C( 21022), -INT16_C( 10925),
       INT16_C(  1658),  INT16_C(   506), -INT16_C( 14434), -INT16_C( 16159), -INT16_C( 28857), -INT16_C( 30139),  INT16_C( 20629), -INT16_C( 25680),
      -INT16_C( 17919),  INT16_C(  5535), -INT16_C( 31019), -INT16_C( 27744), -INT16_C(  5424), -INT16_C( 19926),  INT16_C( 32151),  INT16_C(  4487),
      -INT16_C( 32381),  INT16_C(  8466), -INT16_C(  3256), -INT16_C( 28703),  INT16_C(  9859),  INT16_C(  6169), -INT16_C( 13961),  INT16_C( 30899),
       INT16_C( 21379),  INT16_C( 22925),  INT16_C( 11737), -INT16_C( 22036),  INT16_C(  5655), -INT16_C( 20901), -INT16_C(  7533),  INT16_C(  5824),
      -INT16_C( 11677), -INT16_C( 21705),  INT16_C(  6342),  INT16_C( 18747),  INT16_C( 21567), -INT16_C( 18847),  INT16_C(  5150), -INT16_C( 24274),
      -INT16_C( 17561),  INT16_C( 16634), -INT16_C(  6168), -INT16_C(    23),  INT16_C( 17661), -INT16_C( 28243),  INT16_C( 27942), -INT16_C( 30297),
      -INT16_C(  8384),  INT16_C(  1589),  INT16_C( 28919),  INT16_C( 13903), -INT16_C( 20284), -INT16_C(  7444),  INT16_C(  6852),  INT16_C( 11396),
       INT16_C( 32469), -INT16_C( 17044),  INT16_C( 22117),  INT16_C( 25532),  INT16_C( 27290), -INT16_C( 15884), -INT16_C( 25641),  INT16_C(  5962),
       INT16_C( 32634),  INT16_C( 29213),  INT16_C( 27887), -INT16_C( 19288), -INT16_C( 27364), -INT16_C(  7786),  INT16_C(  6831), -INT16_C( 31475),
       INT16_C( 31129), -INT16_C(   446), -INT16_C(    49),  INT16_C( 27233),  INT16_C( 21865),  INT16_C( 16427),  INT16_C( 30193),  INT16_C( 27480),
       INT16_C( 30197), -INT16_C(  6947), -INT16_C( 31006), -INT16_C(   360),  INT16_C( 12059), -INT16_C( 13601), -INT16_C(  5047), -INT16_C(  7601),
      -INT16_C( 28058),  INT16_C( 13793),  INT16_C( 17041), -INT16_C(  1377), -INT16_C( 13672), -INT16_C( 30406), -INT16_C( 28096),  INT16_C( 13812),
      -INT16_C( 11768), -INT16_C(  5607), -INT16_C( 19880),  INT16_C( 29672), -INT16_C( 14111),  INT16_C( 10813), -INT16_C( 29260),  INT16_C(  6669),
      -INT16_C(  4577), -INT16_C( 20400), -INT16_C(  4304), -INT16_C( 14166), -INT16_C(  6982), -INT16_C(  1455),  INT16_C( 18039),  INT16_C( 32559),
       INT16_C( 18456),  INT16_C( 28777),  INT16_C( 20986), -INT16_C(  9245),  INT16_C(  8217), -INT16_C( 12794),  INT16_C(  5037), -INT16_C( 13080),
       INT16_C( 14337),  INT16_C( 12668),  INT16_C(  9768), -INT16_C(  7430),  INT16_C( 19211), -INT16_C( 32036),  INT16_C(  2961), -INT16_C( 22271),
       INT16_C( 27219),  INT16_C( 19993), -INT16_C(   837), -INT16_C( 10967),  INT16_C( 12061), -INT16_C( 13661), -INT16_C( 29886),  INT16_C( 17303),
       INT16_C(  5060), -INT16_C(  5003),  INT16_C( 28474),  INT16_C( 17870), -INT16_C( 21830),  INT16_C( 19655), -INT16_C( 14155),  INT16_C(  2293),
       INT16_C(  3890), -INT16_C(  4778), -INT16_C( 32757),  INT16_C( 10434),  INT16_C( 26031), -INT16_C(  3341), -INT16_C( 29967), -INT16_C( 19147),
      -INT16_C( 21859), -INT16_C( 10335),  INT16_C( 28441), -INT16_C( 11236), -INT16_C(  7399), -INT16_C( 12768),  INT16_C(  5547), -INT16_C(  8746),
       INT16_C( 11556),  INT16_C( 12491), -INT16_C( 29267),  INT16_C( 23640),  INT16_C( 19443), -INT16_C(  7090), -INT16_C( 31531),  INT16_C( 29593),
       INT16_C( 14894),  INT16_C( 18506),  INT16_C( 26537), -INT16_C( 15844),  INT16_C( 15434), -INT16_C(  2416),  INT16_C( 26193),  INT16_C( 30419),
      -INT16_C( 24941),  INT16_C( 16550), -INT16_C(   468),  INT16_C(  8093), -INT16_C(  5302),  INT16_C(  7939), -INT16_C( 25489), -INT16_C( 24942),
      -INT16_C(  8746),  INT16_C( 32742),  INT16_C(   580) };
  static const int16_t b =  INT16_C(  9609);
  static const int16_t e[] =
    {  INT16_C(  7876),        INT16_MAX,  INT16_C(  1659),  INT16_C(    80),  INT16_C(   619),  INT16_C(  5133),  INT16_C( 18885),        INT16_MAX,
       INT16_C( 29832), -INT16_C(   738), -INT16_C( 22137),  INT16_C(  4837),  INT16_C(  5064), -INT16_C(  5946),        INT16_MAX, -INT16_C(  3973),
       INT16_C(  6642),        INT16_MAX,  INT16_C( 12381), -INT16_C(  9025), -INT16_C(  8080),  INT16_C( 18734), -INT16_C(  9112),  INT16_C(  1040),
       INT16_C( 16781),  INT16_C( 10302),  INT16_C( 14377),  INT16_C(  1400),  INT16_C( 20873), -INT16_C( 19157), -INT16_C( 17627),  INT16_C( 10978),
      -INT16_C( 15854),        INT16_MAX, -INT16_C( 17105), -INT16_C( 19810), -INT16_C(  8230),  INT16_C( 22073),  INT16_C( 24057),        INT16_MAX,
      -INT16_C(  5667),  INT16_C(  6655),        INT16_MAX, -INT16_C(   675),        INT16_MAX,  INT16_C( 21743), -INT16_C(  7020), -INT16_C( 17731),
      -INT16_C( 17692),  INT16_C( 10108),  INT16_C( 11701),        INT16_MAX,  INT16_C( 25931),  INT16_C( 22583), -INT16_C(  7424), -INT16_C(  3537),
       INT16_C( 16907),  INT16_C( 32329), -INT16_C( 17909),  INT16_C( 15032), -INT16_C( 17772),  INT16_C( 15309),        INT16_MAX, -INT16_C( 10956),
      -INT16_C( 15465),  INT16_C( 24634),  INT16_C( 26159),        INT16_MAX,        INT16_MAX,  INT16_C(  7459),  INT16_C( 26029), -INT16_C( 13236),
      -INT16_C( 22298),  INT16_C(  1416),  INT16_C( 21409),  INT16_C( 18813),  INT16_C( 24141),  INT16_C( 15810),  INT16_C(  2874), -INT16_C(  6831),
             INT16_MAX,  INT16_C( 20610), -INT16_C( 10174),  INT16_C( 24091),  INT16_C( 21154),  INT16_C( 25272),  INT16_C(  6134), -INT16_C(  3987),
       INT16_C(  2303), -INT16_C( 19405), -INT16_C( 15462), -INT16_C(  1222),  INT16_C(  4192), -INT16_C( 20873), -INT16_C(  9128),  INT16_C( 30928),
       INT16_C( 26040),  INT16_C(  3590),  INT16_C( 13691),  INT16_C( 12457),  INT16_C( 30149), -INT16_C( 12334),  INT16_C( 21195), -INT16_C(  8707),
       INT16_C( 17305),  INT16_C( 18127),  INT16_C(  7494), -INT16_C( 17792),  INT16_C(  2923), -INT16_C( 10587),        INT16_MAX, -INT16_C(  4211),
      -INT16_C( 22740), -INT16_C( 17349), -INT16_C(  2022), -INT16_C(  3286),  INT16_C(  4011),        INT16_MAX,  INT16_C(  4512),  INT16_C( 19622),
             INT16_MAX, -INT16_C(  4910),  INT16_C( 26084),  INT16_C( 25316),        INT16_MAX, -INT16_C(  6536),  INT16_C(  6499),        INT16_MAX,
       INT16_C( 25086),  INT16_C( 11165), -INT16_C(  9577),  INT16_C( 22364),  INT16_C( 28969), -INT16_C(  8929), -INT16_C( 10048),  INT16_C( 26472),
       INT16_C( 19872),        INT16_MAX,        INT16_MAX, -INT16_C( 19655), -INT16_C( 15003), -INT16_C(  9258), -INT16_C(   740),  INT16_C( 11709),
       INT16_C( 28060),  INT16_C( 18071),  INT16_C(  1927), -INT16_C( 15397),  INT16_C(  3509),        INT16_MAX,  INT16_C( 23077), -INT16_C(  9938),
      -INT16_C( 11291), -INT16_C(  5713), -INT16_C(   869),  INT16_C(  5082), -INT16_C( 15361),  INT16_C( 12078), -INT16_C(   258), -INT16_C( 21094),
       INT16_C( 17579),  INT16_C( 17971),  INT16_C(  8586),  INT16_C( 21319),  INT16_C( 14702), -INT16_C( 22758),  INT16_C( 23505), -INT16_C( 13891),
             INT16_MAX,  INT16_C(  7154), -INT16_C(  8261), -INT16_C( 12690), -INT16_C( 20510), -INT16_C(  3013), -INT16_C(  5908), -INT16_C( 21792),
       INT16_C( 10092),  INT16_C(  2606),        INT16_MAX,  INT16_C(  1946), -INT16_C( 14336), -INT16_C(  6932), -INT16_C( 16799), -INT16_C(  7700),
      -INT16_C(  3460),  INT16_C( 19260), -INT16_C( 16880),  INT16_C(  1622),        INT16_MAX, -INT16_C( 21705),  INT16_C( 10956),  INT16_C( 19348),
      -INT16_C( 10865),  INT16_C( 10643),  INT16_C( 16541), -INT16_C( 20113),  INT16_C( 28743), -INT16_C( 17453), -INT16_C( 11413), -INT16_C(  1316),
       INT16_C( 11267),  INT16_C( 10115), -INT16_C(  4825), -INT16_C(  6550), -INT16_C( 19248), -INT16_C( 20530),  INT16_C( 30238), -INT16_C( 16071),
      -INT16_C(  8310),  INT16_C( 15144), -INT16_C( 21410), -INT16_C( 18135),  INT16_C(  4185), -INT16_C( 10317),        INT16_MAX,  INT16_C( 14096),
      -INT16_C( 22772),  INT16_C( 18075),  INT16_C(  6353), -INT16_C( 19094),  INT16_C( 19468),  INT16_C( 15778), -INT16_C(  4352),        INT16_MAX,
       INT16_C( 30988),  INT16_C( 32534),  INT16_C( 21346), -INT16_C( 12427),  INT16_C( 15264), -INT16_C( 11292),  INT16_C(  2076),  INT16_C( 15433),
      -INT16_C(  2068), -INT16_C( 12096),  INT16_C( 15951),  INT16_C( 28356),  INT16_C( 31176), -INT16_C(  9238),  INT16_C( 14759), -INT16_C( 14665),
      -INT16_C(  7952),  INT16_C( 26243),  INT16_C(  3441),  INT16_C(  9586),  INT16_C( 27270), -INT16_C( 18634),        INT16_MAX, -INT16_C( 20688),
       INT16_C(  1225),  INT16_C( 11198),        INT16_MAX,  INT16_C( 23512), -INT16_C( 10675),  INT16_C(  2165),  INT16_C( 16461),  INT16_C( 21005),
             INT16_MAX, -INT16_C(  7435),  INT16_C( 31726),        INT16_MAX,        INT16_MAX, -INT16_C(  6275), -INT16_C( 16032),  INT16_C( 15571),
             INT16_MAX,        INT16_MAX,        INT16_MAX, -INT16_C(  9679), -INT16_C( 17755),  INT16_C(  1823),  INT16_C( 16440), -INT16_C( 21866),
             INT16_MAX,  INT16_C(  9163),  INT16_C(  9560),        INT16_MAX,  INT16_C( 31474),  INT16_C( 26036),        INT16_MAX,        INT16_MAX,
             INT16_MAX,  INT16_C(  2662), -INT16_C( 21397),  INT16_C(  9249),  INT16_C( 21668), -INT16_C(  3992),  INT16_C(  4562),  INT16_C(  2008),
      -INT16_C( 18449),  INT16_C( 23402),  INT16_C( 26650),  INT16_C(  8232), -INT16_C(  4063), -INT16_C( 20797), -INT16_C( 18487),  INT16_C( 23421),
      -INT16_C(  2159),  INT16_C(  4002), -INT16_C( 10271),        INT16_MAX, -INT16_C(  4502),  INT16_C( 20422), -INT16_C( 19651),  INT16_C( 16278),
       INT16_C(  5032), -INT16_C( 10791),  INT16_C(  5305), -INT16_C(  4557),  INT16_C(  2627),  INT16_C(  8154),  INT16_C( 27648),        INT16_MAX,
       INT16_C( 28065),        INT16_MAX,  INT16_C( 30595),  INT16_C(   364),  INT16_C( 17826), -INT16_C(  3185),  INT16_C( 14646), -INT16_C(  3471),
       INT16_C( 23946),  INT16_C( 22277),  INT16_C( 19377),  INT16_C(  2179),  INT16_C( 28820), -INT16_C( 22427),  INT16_C( 12570), -INT16_C( 12662),
             INT16_MAX,  INT16_C( 29602),  INT16_C(  8772), -INT16_C(  1358),  INT16_C( 21670), -INT16_C(  4052), -INT16_C( 20277),  INT16_C( 26912),
       INT16_C( 14669),  INT16_C(  4606),        INT16_MAX,  INT16_C( 27479), -INT16_C( 12221),  INT16_C( 29264), -INT16_C(  4546),  INT16_C( 11902),
       INT16_C( 13499),  INT16_C(  4831), -INT16_C( 23148),  INT16_C( 20043),        INT16_MAX,  INT16_C(  6268), -INT16_C( 20358), -INT16_C(  9538),
      -INT16_C( 12250), -INT16_C(   726),        INT16_MAX, -INT16_C(  1627),  INT16_C(  2210), -INT16_C(  3159),  INT16_C( 15156),  INT16_C(   863),
       INT16_C( 21165),  INT16_C( 22100), -INT16_C( 19658),        INT16_MAX,  INT16_C( 29052),  INT16_C(  2519), -INT16_C( 21922),        INT16_MAX,
       INT16_C( 24503),  INT16_C( 28115),        INT16_MAX, -INT16_C(  6235),  INT16_C( 25043),  INT16_C(  7193),        INT16_MAX,        INT16_MAX,
      -INT16_C( 15332),  INT16_C( 26159),  INT16_C(  9141),  INT16_C( 17702),  INT16_C(  4307),  INT16_C( 17548), -INT16_C( 15880), -INT16_C( 15333),
       INT16_C(   863),        INT16_MAX,  INT16_C( 10189) };

  static int16_t r[sizeof(e) / sizeof(e[0])];
  static const int32_t len = HEDLEY_STATIC_CAST(int32_t, sizeof(e) / sizeof(e[0]));
  int32_t i = 0;
  simde_svbool_t pg = simde_svwhilelt_b16_s32(i, len);
  while (simde_svptest_first(simde_svptrue_b16(), pg)) {
    simde_svint16_t
      rv,
      av = simde_svld1_s16(pg, &(a[i]));

    rv = simde_svqadd_n_s16(av, b);

    simde_svst1_s16(pg, &(r[i]), rv);

    i += simde_svcnth();
    pg = simde_svwhilelt_b16_s32(i, len);
  }

  simde_assert_equal_vi16(len, e, r);

  return 0;
#else
  int16_t a[1024 / sizeof(int16_t)], b, e[1024 / sizeof(int16_t)];
  int32_t len = simde_test_arm_sve_random_length(sizeof(e), sizeof(e[0]));

  fputc('\n', stdout);

  simde_test_codegen_random_memory(sizeof(a), HEDLEY_REINTERPRET_CAST(uint8_t*, a));
  b = simde_test_codegen_random_i16();

  int32_t i = 0;
  simde_svbool_t pg = simde_svwhilelt_b16_s32(i, len);
  while (simde_svptest_first(simde_svptrue_b16(), pg)) {
    simde_svint16_t av, ev;

    av = simde_svld1_s16(pg, &(a[i]));

    ev = simde_svqadd_n_s16(av, b);

    simde_svst1_s16(pg, &(e[i]), ev);

    i += simde_svcnth();
    pg = simde_svwhilelt_b16_s32(i, len);
  }

  simde_test_codegen_write_1vi16(1, HEDLEY_STATIC_CAST(size_t, len), a);
  simde_test_codegen_write_1i16(1, b);
  simde_test_codegen_write_1vi16(1, HEDLEY_STATIC_CAST(size_t, len), e);

  return 1;
#endif
}

static int
test_simde_svqadd_n_s32 (SIMDE_MUNIT_TEST_ARGS) {
#if 1
  static const int32_t a[] =
    { -INT32_C(   702089489),  INT32_C(  1602159985), -INT32_C(   521013082), -INT32_C(   220970325),  INT32_C(  1943189197),  INT32_C(   878934055), -INT32_C(   262542203), -INT32_C(  1885641056),
      -INT32_C(   848969380),  INT32_C(  1831724230), -INT32_C(  2008211747),  INT32_C(   779821409), -INT32_C(     6205993),  INT32_C(  1261634757), -INT32_C(  1858368271),  INT32_C(  1327552243),
       INT32_C(  1578993047),  INT32_C(  1204505194), -INT32_C(   909174680),  INT32_C(   284641849),  INT32_C(  1561303191), -INT32_C(  1901575523), -INT32_C(  1038097457),  INT32_C(  1360084922),
       INT32_C(   783232708), -INT32_C(   512394632), -INT32_C(   878033518),  INT32_C(   668770959), -INT32_C(   679154886), -INT32_C(    43701202), -INT32_C(   910195697), -INT32_C(  2011443005),
       INT32_C(  2008468223), -INT32_C(   682087355),  INT32_C(    10683249), -INT32_C(   551059547), -INT32_C(  1732793494), -INT32_C(   409658153),  INT32_C(  1689277601),  INT32_C(   619498277),
      -INT32_C(   610557034),  INT32_C(  1085469903), -INT32_C(  1673505289),  INT32_C(  1065052372), -INT32_C(   338218477), -INT32_C(   254644913), -INT32_C(   430669119), -INT32_C(   469089970),
      -INT32_C(  1279285532), -INT32_C(  1846316646), -INT32_C(  1691536441), -INT32_C(  1344624485),  INT32_C(   714781403), -INT32_C(   535139297),  INT32_C(  1019703022), -INT32_C(  1826565713),
       INT32_C(   289857399),  INT32_C(   413284689),  INT32_C(   146001773),  INT32_C(  1404538488),  INT32_C(  1602048320), -INT32_C(  1405118531), -INT32_C(  1243085307),  INT32_C(  1330121176),
       INT32_C(   962695144),  INT32_C(   894501832),  INT32_C(  1262355923), -INT32_C(   744557165),  INT32_C(    70392647), -INT32_C(  1213173326),  INT32_C(  1349294456), -INT32_C(  1969244766),
       INT32_C(   214171716), -INT32_C(   683535100), -INT32_C(  1390247910), -INT32_C(  1132412811), -INT32_C(  1916685605), -INT32_C(  1673236188), -INT32_C(  1393774326), -INT32_C(  1439200410),
      -INT32_C(  1867056244),  INT32_C(   728234000), -INT32_C(   287798920),  INT32_C(   615143753),  INT32_C(   800156427), -INT32_C(   406063651),  INT32_C(   211072934), -INT32_C(   810103997),
      -INT32_C(   698389050), -INT32_C(   570309019), -INT32_C(  1731405233),  INT32_C(  1052538419), -INT32_C(  1083281950),  INT32_C(   161888610),  INT32_C(   873806577), -INT32_C(   888943611),
      -INT32_C(  1633525191),  INT32_C(  2004656936), -INT32_C(  1341175683), -INT32_C(  1578120257), -INT32_C(  1704960712), -INT32_C(  2019359082),  INT32_C(  1186707777), -INT32_C(  1106067835),
       INT32_C(  1214034976), -INT32_C(   708847273), -INT32_C(   528101855), -INT32_C(   780045159),  INT32_C(  1751966161),  INT32_C(   703533032),  INT32_C(  1299164104), -INT32_C(  1978957463),
      -INT32_C(  1915590603),  INT32_C(  1650627137), -INT32_C(    96213152),  INT32_C(   768328796), -INT32_C(  1902823514),  INT32_C(   263685447), -INT32_C(  1721948624), -INT32_C(   584882008),
       INT32_C(   292222672), -INT32_C(   394998648),  INT32_C(   283293620),  INT32_C(   557690491),  INT32_C(   749720549), -INT32_C(  2009307560),  INT32_C(   891394445), -INT32_C(   770554623),
      -INT32_C(  1008501445), -INT32_C(    39102647), -INT32_C(  1978823154),  INT32_C(   564874044),  INT32_C(  1984846622),  INT32_C(  1325304513),  INT32_C(   612572963), -INT32_C(  1611229596),
       INT32_C(  1549982227),  INT32_C(  1079643697), -INT32_C(   657823844), -INT32_C(   788957774), -INT32_C(  1840887856), -INT32_C(   186628911), -INT32_C(   937859996),  INT32_C(   224923642),
       INT32_C(   459918057),  INT32_C(  1952170968), -INT32_C(   582212309),  INT32_C(  1806583450),  INT32_C(  1610478733), -INT32_C(  1655448263),  INT32_C(   996502593),  INT32_C(  1699270012),
       INT32_C(  1887482520), -INT32_C(  1595548811), -INT32_C(  1686228736),  INT32_C(    84290679),  INT32_C(  1499726624),  INT32_C(   586594272), -INT32_C(  1604494300), -INT32_C(  1056594391),
      -INT32_C(   852326824),  INT32_C(  1651382113), -INT32_C(  1057100728),  INT32_C(   952435480), -INT32_C(   426628858),  INT32_C(    67668192),  INT32_C(   245655268),  INT32_C(  1691331084),
      -INT32_C(  1859059408),  INT32_C(  1643355928), -INT32_C(  1558056821), -INT32_C(   102963469), -INT32_C(   270504433), -INT32_C(   604706570),  INT32_C(  1525258318),  INT32_C(  1925101634),
      -INT32_C(   771428166),  INT32_C(   456390543), -INT32_C(   608283416),  INT32_C(  1238735418), -INT32_C(    12995320), -INT32_C(   321245795),  INT32_C(   138855365),  INT32_C(   897189243),
      -INT32_C(  2079817995),  INT32_C(  1587493750), -INT32_C(   902209904),  INT32_C(    18091768),  INT32_C(  1627409859),  INT32_C(  1062066810),  INT32_C(   407344029), -INT32_C(  1924218216),
      -INT32_C(  1240312256),  INT32_C(   555004305),  INT32_C(   149704207),  INT32_C(   537460828), -INT32_C(   947844787), -INT32_C(  2147037469), -INT32_C(    90681759),  INT32_C(  1351083536),
      -INT32_C(   838362820),  INT32_C(  1525619531), -INT32_C(   966599831),  INT32_C(   686189531),  INT32_C(  1475307380), -INT32_C(  1764231627),  INT32_C(  1418752068), -INT32_C(  1817962410),
      -INT32_C(    60707919),  INT32_C(   811028679),  INT32_C(   133609772), -INT32_C(  1724851163),  INT32_C(  2029068099),  INT32_C(  1494206485), -INT32_C(  1884446920),  INT32_C(  1763857079),
      -INT32_C(   999980035), -INT32_C(      672557), -INT32_C(  1693979786),  INT32_C(   187971528),  INT32_C(  1820599638),  INT32_C(   650482670), -INT32_C(   357207246), -INT32_C(  1034692667),
       INT32_C(   780646490), -INT32_C(   349340555),  INT32_C(   797324391), -INT32_C(  1036273045), -INT32_C(   835797024), -INT32_C(  2064321710),  INT32_C(   728672870), -INT32_C(   588332671),
      -INT32_C(   284527238),  INT32_C(  1490696177), -INT32_C(   678928276) };
  static const int32_t b = -INT32_C(   302586133);
  static const int32_t e[] =
    { -INT32_C(  1004675622),  INT32_C(  1299573852), -INT32_C(   823599215), -INT32_C(   523556458),  INT32_C(  1640603064),  INT32_C(   576347922), -INT32_C(   565128336),              INT32_MIN,
      -INT32_C(  1151555513),  INT32_C(  1529138097),              INT32_MIN,  INT32_C(   477235276), -INT32_C(   308792126),  INT32_C(   959048624),              INT32_MIN,  INT32_C(  1024966110),
       INT32_C(  1276406914),  INT32_C(   901919061), -INT32_C(  1211760813), -INT32_C(    17944284),  INT32_C(  1258717058),              INT32_MIN, -INT32_C(  1340683590),  INT32_C(  1057498789),
       INT32_C(   480646575), -INT32_C(   814980765), -INT32_C(  1180619651),  INT32_C(   366184826), -INT32_C(   981741019), -INT32_C(   346287335), -INT32_C(  1212781830),              INT32_MIN,
       INT32_C(  1705882090), -INT32_C(   984673488), -INT32_C(   291902884), -INT32_C(   853645680), -INT32_C(  2035379627), -INT32_C(   712244286),  INT32_C(  1386691468),  INT32_C(   316912144),
      -INT32_C(   913143167),  INT32_C(   782883770), -INT32_C(  1976091422),  INT32_C(   762466239), -INT32_C(   640804610), -INT32_C(   557231046), -INT32_C(   733255252), -INT32_C(   771676103),
      -INT32_C(  1581871665),              INT32_MIN, -INT32_C(  1994122574), -INT32_C(  1647210618),  INT32_C(   412195270), -INT32_C(   837725430),  INT32_C(   717116889), -INT32_C(  2129151846),
      -INT32_C(    12728734),  INT32_C(   110698556), -INT32_C(   156584360),  INT32_C(  1101952355),  INT32_C(  1299462187), -INT32_C(  1707704664), -INT32_C(  1545671440),  INT32_C(  1027535043),
       INT32_C(   660109011),  INT32_C(   591915699),  INT32_C(   959769790), -INT32_C(  1047143298), -INT32_C(   232193486), -INT32_C(  1515759459),  INT32_C(  1046708323),              INT32_MIN,
      -INT32_C(    88414417), -INT32_C(   986121233), -INT32_C(  1692834043), -INT32_C(  1434998944),              INT32_MIN, -INT32_C(  1975822321), -INT32_C(  1696360459), -INT32_C(  1741786543),
                   INT32_MIN,  INT32_C(   425647867), -INT32_C(   590385053),  INT32_C(   312557620),  INT32_C(   497570294), -INT32_C(   708649784), -INT32_C(    91513199), -INT32_C(  1112690130),
      -INT32_C(  1000975183), -INT32_C(   872895152), -INT32_C(  2033991366),  INT32_C(   749952286), -INT32_C(  1385868083), -INT32_C(   140697523),  INT32_C(   571220444), -INT32_C(  1191529744),
      -INT32_C(  1936111324),  INT32_C(  1702070803), -INT32_C(  1643761816), -INT32_C(  1880706390), -INT32_C(  2007546845),              INT32_MIN,  INT32_C(   884121644), -INT32_C(  1408653968),
       INT32_C(   911448843), -INT32_C(  1011433406), -INT32_C(   830687988), -INT32_C(  1082631292),  INT32_C(  1449380028),  INT32_C(   400946899),  INT32_C(   996577971),              INT32_MIN,
                   INT32_MIN,  INT32_C(  1348041004), -INT32_C(   398799285),  INT32_C(   465742663),              INT32_MIN, -INT32_C(    38900686), -INT32_C(  2024534757), -INT32_C(   887468141),
      -INT32_C(    10363461), -INT32_C(   697584781), -INT32_C(    19292513),  INT32_C(   255104358),  INT32_C(   447134416),              INT32_MIN,  INT32_C(   588808312), -INT32_C(  1073140756),
      -INT32_C(  1311087578), -INT32_C(   341688780),              INT32_MIN,  INT32_C(   262287911),  INT32_C(  1682260489),  INT32_C(  1022718380),  INT32_C(   309986830), -INT32_C(  1913815729),
       INT32_C(  1247396094),  INT32_C(   777057564), -INT32_C(   960409977), -INT32_C(  1091543907), -INT32_C(  2143473989), -INT32_C(   489215044), -INT32_C(  1240446129), -INT32_C(    77662491),
       INT32_C(   157331924),  INT32_C(  1649584835), -INT32_C(   884798442),  INT32_C(  1503997317),  INT32_C(  1307892600), -INT32_C(  1958034396),  INT32_C(   693916460),  INT32_C(  1396683879),
       INT32_C(  1584896387), -INT32_C(  1898134944), -INT32_C(  1988814869), -INT32_C(   218295454),  INT32_C(  1197140491),  INT32_C(   284008139), -INT32_C(  1907080433), -INT32_C(  1359180524),
      -INT32_C(  1154912957),  INT32_C(  1348795980), -INT32_C(  1359686861),  INT32_C(   649849347), -INT32_C(   729214991), -INT32_C(   234917941), -INT32_C(    56930865),  INT32_C(  1388744951),
                   INT32_MIN,  INT32_C(  1340769795), -INT32_C(  1860642954), -INT32_C(   405549602), -INT32_C(   573090566), -INT32_C(   907292703),  INT32_C(  1222672185),  INT32_C(  1622515501),
      -INT32_C(  1074014299),  INT32_C(   153804410), -INT32_C(   910869549),  INT32_C(   936149285), -INT32_C(   315581453), -INT32_C(   623831928), -INT32_C(   163730768),  INT32_C(   594603110),
                   INT32_MIN,  INT32_C(  1284907617), -INT32_C(  1204796037), -INT32_C(   284494365),  INT32_C(  1324823726),  INT32_C(   759480677),  INT32_C(   104757896),              INT32_MIN,
      -INT32_C(  1542898389),  INT32_C(   252418172), -INT32_C(   152881926),  INT32_C(   234874695), -INT32_C(  1250430920),              INT32_MIN, -INT32_C(   393267892),  INT32_C(  1048497403),
      -INT32_C(  1140948953),  INT32_C(  1223033398), -INT32_C(  1269185964),  INT32_C(   383603398),  INT32_C(  1172721247), -INT32_C(  2066817760),  INT32_C(  1116165935), -INT32_C(  2120548543),
      -INT32_C(   363294052),  INT32_C(   508442546), -INT32_C(   168976361), -INT32_C(  2027437296),  INT32_C(  1726481966),  INT32_C(  1191620352),              INT32_MIN,  INT32_C(  1461270946),
      -INT32_C(  1302566168), -INT32_C(   303258690), -INT32_C(  1996565919), -INT32_C(   114614605),  INT32_C(  1518013505),  INT32_C(   347896537), -INT32_C(   659793379), -INT32_C(  1337278800),
       INT32_C(   478060357), -INT32_C(   651926688),  INT32_C(   494738258), -INT32_C(  1338859178), -INT32_C(  1138383157),              INT32_MIN,  INT32_C(   426086737), -INT32_C(   890918804),
      -INT32_C(   587113371),  INT32_C(  1188110044), -INT32_C(   981514409) };

  static int32_t r[sizeof(e) / sizeof(e[0])];
  static const int32_t len = HEDLEY_STATIC_CAST(int32_t, sizeof(e) / sizeof(e[0]));
  int32_t i = 0;
  simde_svbool_t pg = simde_svwhilelt_b32_s32(i, len);
  while (simde_svptest_first(simde_svptrue_b32(), pg)) {
    simde_svint32_t
      rv,
      av = simde_svld1_s32(pg, &(a[i]));

    rv = simde_svqadd_n_s32(av, b);

    simde_svst1_s32(pg, &(r[i]), rv);

    i += simde_svcntw();
    pg = simde_svwhilelt_b32_s32(i, len);
  }

  simde_assert_equal_vi32(len, e, r);

  return 0;
#else
  int32_t a[1024 / sizeof(int32_t)], b, e[1024 / sizeof(int32_t)];
  int32_t len = simde_test_arm_sve_random_length(sizeof(e), sizeof(e[0]));

  fputc('\n', stdout);

  simde_test_codegen_random_memory(sizeof(a), HEDLEY_REINTERPRET_CAST(uint8_t*, a));
  b = simde_test_codegen_random_i32();

  int32_t i = 0;
  simde_svbool_t pg = simde_svwhilelt_b32_s32(i, len);
  while (simde_svptest_first(simde_svptrue_b32(), pg)) {
    simde_svint32_t av, ev;

    av = simde_svld1_s32(pg, &(a[i]));

    ev = simde_svqadd_n_s32(av, b);

    simde_svst1_s32(pg, &(e[i]), ev);

    i += simde_svcntw();
    pg = simde_svwhilelt_b32_s32(i, len);
  }

  simde_test_codegen_write_1vi32(1, HEDLEY_STATIC_CAST(size_t, len), a);
  simde_test_codegen_write_1i32(1, b);
  simde_test_codegen_write_1vi32(1, HEDLEY_STATIC_CAST(size_t, len), e);

  return 1;
#endif
}

static int
test_simde_svqadd_n_s64 (SIMDE_MUNIT_TEST_ARGS) {
#if 1
  static const int64_t a[] =
    { -INT64_C(   16571552326054271), -INT64_C( 4737450331321785696),  INT64_C( 5971504166173258232),  INT64_C( 7947545942205388529),
       INT64_C( 5056136815560132073), -INT64_C( 2816548704857969372),  INT64_C( 7711657325356871245), -INT64_C( 8610626717622713051),
      -INT64_C( 2208488139076092819), -INT64_C( 7258406982245370996),  INT64_C( 2902943810391618659),  INT64_C( 4305928109334128025),
      -INT64_C( 2227690460584970890),  INT64_C( 8738269803016167770), -INT64_C( 9119330855220178106), -INT64_C( 2626025857583764603),
      -INT64_C( 2511280695506182927),  INT64_C( 5536270871070864452),  INT64_C( 5820065563544988508), -INT64_C( 1445319055217819727),
       INT64_C( 7452708768622706445),  INT64_C( 1809768362990040011),  INT64_C( 7628010044883055297), -INT64_C( 4645620582489030495),
      -INT64_C( 2595554360632035216),  INT64_C( 1406752913982536880), -INT64_C( 6512631653609774468), -INT64_C(  113495375473467652),
       INT64_C( 2984352156813999232),  INT64_C( 6750363547266783048), -INT64_C( 4132279389392843011),  INT64_C( 3520936058931112015),
       INT64_C( 4773299904359460252), -INT64_C( 1404969228836154559), -INT64_C( 7896616353871818023),  INT64_C( 6439950367574777214),
      -INT64_C( 8361587700600528967),  INT64_C( 3988550299302089343),  INT64_C( 6563509225129658432), -INT64_C( 8415000286832458207),
      -INT64_C( 3396783594595769080), -INT64_C(  605003286516430331), -INT64_C( 2803049070405651232), -INT64_C( 7749306769813822697),
      -INT64_C( 1389990613035338861),  INT64_C( 7853127162827633484),  INT64_C( 2229075137799026269),  INT64_C( 2956750136707360743),
      -INT64_C(  215677241318838737), -INT64_C( 7516792305672433482),  INT64_C(  331467698031417715),  INT64_C( 5477082062038540611),
      -INT64_C( 8638357281112518801), -INT64_C( 8033163769678258253),  INT64_C( 1257529923187978577), -INT64_C( 2544836789157565627),
       INT64_C( 2762143031141077243), -INT64_C( 1592418737693974726), -INT64_C( 2618900810664709688),  INT64_C( 8718947425818939830),
       INT64_C( 5806999290199342076),  INT64_C(  665562156659812795),  INT64_C( 1652898437426812030),  INT64_C( 1715088718831365847),
       INT64_C( 7609144580302574387),  INT64_C( 5409097811465355462), -INT64_C( 3601946255491551091), -INT64_C( 6363604464403596162),
       INT64_C( 1736852694082074114),  INT64_C( 6765304737687394250),  INT64_C( 1271226292176045024), -INT64_C( 5069547163060942967),
      -INT64_C( 1442695453863143793),  INT64_C( 2993034792301369691), -INT64_C( 6175380526401006680), -INT64_C( 2388230175110662549),
       INT64_C( 2733326296862901731),  INT64_C( 9171257204807856595),  INT64_C( 6230738789539137197),  INT64_C( 5776521200955564285),
       INT64_C( 8540587012834781592),  INT64_C( 6704127773068416947), -INT64_C( 4080361549730168034), -INT64_C( 4430911831941064764),
      -INT64_C( 3728793463720520153), -INT64_C( 3922811561544592767),  INT64_C( 2573017045898803747),  INT64_C( 3311508047638415368),
       INT64_C( 4869296931835680942),  INT64_C( 7817689618256816649), -INT64_C( 8485046121446879042),  INT64_C( 1876507275888006359),
       INT64_C( 4813912837919408585),  INT64_C(  293987722517168990),  INT64_C( 6183829854536953541),  INT64_C(  683207115194666741),
       INT64_C( 3438889537484708926), -INT64_C( 1589230649643389018),  INT64_C( 7506376275962892890), -INT64_C( 2677033063186604144),
       INT64_C( 8691677704792141472), -INT64_C( 4843806792064076102), -INT64_C( 8627558811049920663), -INT64_C( 1038868812422181601),
      -INT64_C( 6058746737179039840),  INT64_C( 1267289027007565944),  INT64_C(  632811725043607879), -INT64_C(  900058760058035905),
       INT64_C( 6835709858531435584), -INT64_C(  118555153569126751), -INT64_C( 5050497287067908105),  INT64_C( 5075218158303489320),
      -INT64_C( 4038228970436045647), -INT64_C(  977163490956399173), -INT64_C( 2385573312482529359), -INT64_C( 6073447169021890966),
       INT64_C( 4433854867873869212), -INT64_C( 5453262103736510364),  INT64_C( 5504177072259409358),  INT64_C( 2276414047580371953),
       INT64_C( 8457594147545602464), -INT64_C(  236395906128867839),  INT64_C( 5439190951463524172),  INT64_C( 5350502487901485214),
      -INT64_C( 8417848331825569369),  INT64_C( 8503718762951672537),  INT64_C(  397196815547859934) };
  static const int64_t b =  INT64_C( 6889685566727043720);
  static const int64_t e[] =
    {  INT64_C( 6873114014400989449),  INT64_C( 2152235235405258024),                      INT64_MAX,                      INT64_MAX,
                           INT64_MAX,  INT64_C( 4073136861869074348),                      INT64_MAX, -INT64_C( 1720941150895669331),
       INT64_C( 4681197427650950901), -INT64_C(  368721415518327276),                      INT64_MAX,                      INT64_MAX,
       INT64_C( 4661995106142072830),                      INT64_MAX, -INT64_C( 2229645288493134386),  INT64_C( 4263659709143279117),
       INT64_C( 4378404871220860793),                      INT64_MAX,                      INT64_MAX,  INT64_C( 5444366511509223993),
                           INT64_MAX,  INT64_C( 8699453929717083731),                      INT64_MAX,  INT64_C( 2244064984238013225),
       INT64_C( 4294131206095008504),  INT64_C( 8296438480709580600),  INT64_C(  377053913117269252),  INT64_C( 6776190191253576068),
                           INT64_MAX,                      INT64_MAX,  INT64_C( 2757406177334200709),                      INT64_MAX,
                           INT64_MAX,  INT64_C( 5484716337890889161), -INT64_C( 1006930787144774303),                      INT64_MAX,
      -INT64_C( 1471902133873485247),                      INT64_MAX,                      INT64_MAX, -INT64_C( 1525314720105414487),
       INT64_C( 3492901972131274640),  INT64_C( 6284682280210613389),  INT64_C( 4086636496321392488), -INT64_C(  859621203086778977),
       INT64_C( 5499694953691704859),                      INT64_MAX,  INT64_C( 9118760704526069989),                      INT64_MAX,
       INT64_C( 6674008325408204983), -INT64_C(  627106738945389762),  INT64_C( 7221153264758461435),                      INT64_MAX,
      -INT64_C( 1748671714385475081), -INT64_C( 1143478202951214533),  INT64_C( 8147215489915022297),  INT64_C( 4344848777569478093),
                           INT64_MAX,  INT64_C( 5297266829033068994),  INT64_C( 4270784756062334032),                      INT64_MAX,
                           INT64_MAX,  INT64_C( 7555247723386856515),  INT64_C( 8542584004153855750),  INT64_C( 8604774285558409567),
                           INT64_MAX,                      INT64_MAX,  INT64_C( 3287739311235492629),  INT64_C(  526081102323447558),
       INT64_C( 8626538260809117834),                      INT64_MAX,  INT64_C( 8160911858903088744),  INT64_C( 1820138403666100753),
       INT64_C( 5446990112863899927),                      INT64_MAX,  INT64_C(  714305040326037040),  INT64_C( 4501455391616381171),
                           INT64_MAX,                      INT64_MAX,                      INT64_MAX,                      INT64_MAX,
                           INT64_MAX,                      INT64_MAX,  INT64_C( 2809324016996875686),  INT64_C( 2458773734785978956),
       INT64_C( 3160892103006523567),  INT64_C( 2966874005182450953),                      INT64_MAX,                      INT64_MAX,
                           INT64_MAX,                      INT64_MAX, -INT64_C( 1595360554719835322),  INT64_C( 8766192842615050079),
                           INT64_MAX,  INT64_C( 7183673289244212710),                      INT64_MAX,  INT64_C( 7572892681921710461),
                           INT64_MAX,  INT64_C( 5300454917083654702),                      INT64_MAX,  INT64_C( 4212652503540439576),
                           INT64_MAX,  INT64_C( 2045878774662967618), -INT64_C( 1737873244322876943),  INT64_C( 5850816754304862119),
       INT64_C(  830938829548003880),  INT64_C( 8156974593734609664),  INT64_C( 7522497291770651599),  INT64_C( 5989626806669007815),
                           INT64_MAX,  INT64_C( 6771130413157916969),  INT64_C( 1839188279659135615),                      INT64_MAX,
       INT64_C( 2851456596290998073),  INT64_C( 5912522075770644547),  INT64_C( 4504112254244514361),  INT64_C(  816238397705152754),
                           INT64_MAX,  INT64_C( 1436423462990533356),                      INT64_MAX,  INT64_C( 9166099614307415673),
                           INT64_MAX,  INT64_C( 6653289660598175881),                      INT64_MAX,                      INT64_MAX,
      -INT64_C( 1528162765098525649),                      INT64_MAX,  INT64_C( 7286882382274903654) };

  static int64_t r[sizeof(e) / sizeof(e[0])];
  static const int32_t len = HEDLEY_STATIC_CAST(int32_t, sizeof(e) / sizeof(e[0]));
  int32_t i = 0;
  simde_svbool_t pg = simde_svwhilelt_b64_s32(i, len);
  while (simde_svptest_first(simde_svptrue_b64(), pg)) {
    simde_svint64_t
      rv,
      av = simde_svld1_s64(pg, &(a[i]));

    rv = simde_svqadd_n_s64(av, b);

    simde_svst1_s64(pg, &(r[i]), rv);

    i += simde_svcntd();
    pg = simde_svwhilelt_b64_s32(i, len);
  }

  simde_assert_equal_vi64(len, e, r);

  return 0;
#else
  int64_t a[1024 / sizeof(int64_t)], b, e[1024 / sizeof(int64_t)];
  int32_t len = simde_test_arm_sve_random_length(sizeof(e), sizeof(e[0]));

  fputc('\n', stdout);

  simde_test_codegen_random_memory(sizeof(a), HEDLEY_REINTERPRET_CAST(uint8_t*, a));
  b = simde_test_codegen_random_i64();

  int32_t i = 0;
  simde_svbool_t pg = simde_svwhilelt_b64_s32(i, len);
  while (simde_svptest_first(simde_svptrue_b64(), pg)) {
    simde_svint64_t av, ev;

    av = simde_svld1_s64(pg, &(a[i]));

    ev = simde_svqadd_n_s64(av, b);

    simde_svst1_s64(pg, &(e[i]), ev);

    i += simde_svcntd();
    pg = simde_svwhilelt_b64_s32(i, len);
  }

  simde_test_codegen_write_1vi64(1, HEDLEY_STATIC_CAST(size_t, len), a);
  simde_test_codegen_write_1i64(1, b);
  simde_test_codegen_write_1vi64(1, HEDLEY_STATIC_CAST(size_t, len), e);

  return 1;
#endif
}

static int
test_simde_svqadd_n_u8 (SIMDE_MUNIT_TEST_ARGS) {
#if 1
  static const uint8_t a[] =
    { UINT8_C(116), UINT8_C(105), UINT8_C(182), UINT8_C( 83), UINT8_C(236), UINT8_C( 91), UINT8_C(139), UINT8_C( 83),
      UINT8_C(123), UINT8_C( 15), UINT8_C( 88), UINT8_C(212), UINT8_C(201), UINT8_C(126), UINT8_C(215), UINT8_C( 80),
      UINT8_C(229), UINT8_C( 36), UINT8_C(127), UINT8_C(109), UINT8_C(222), UINT8_C(101), UINT8_C(127), UINT8_C(100),
      UINT8_C(121), UINT8_C( 29), UINT8_C(195), UINT8_C(144), UINT8_C( 74), UINT8_C( 41), UINT8_C(208), UINT8_C(190),
      UINT8_C(146), UINT8_C(134), UINT8_C( 17), UINT8_C(126), UINT8_C(225), UINT8_C(157), UINT8_C(209), UINT8_C( 92),
      UINT8_C(172), UINT8_C( 41), UINT8_C( 48), UINT8_C(117), UINT8_C(168), UINT8_C(  7), UINT8_C(197), UINT8_C(141),
      UINT8_C( 44), UINT8_C( 68), UINT8_C(251), UINT8_C( 10), UINT8_C(170), UINT8_C(122), UINT8_C(110), UINT8_C( 35),
      UINT8_C(151), UINT8_C( 49), UINT8_C(179), UINT8_C(225), UINT8_C( 90), UINT8_C(131), UINT8_C(160), UINT8_C(236),
      UINT8_C(  9), UINT8_C(177), UINT8_C(107), UINT8_C(234), UINT8_C( 78), UINT8_C( 60), UINT8_C( 71), UINT8_C(250),
      UINT8_C(102), UINT8_C(119), UINT8_C(111), UINT8_C( 14), UINT8_C(127), UINT8_C( 53), UINT8_C(155), UINT8_C(171),
      UINT8_C(121), UINT8_C(150), UINT8_C(181), UINT8_C( 35), UINT8_C( 17), UINT8_C( 36), UINT8_C( 71), UINT8_C(168),
      UINT8_C( 85), UINT8_C(250), UINT8_C(138), UINT8_C(176), UINT8_C(126), UINT8_C( 42), UINT8_C(156), UINT8_C(135),
      UINT8_C(219), UINT8_C(  7), UINT8_C(114), UINT8_C( 42), UINT8_C( 68), UINT8_C(185), UINT8_C( 36), UINT8_C(170),
      UINT8_C( 48), UINT8_C(148), UINT8_C(184), UINT8_C(175), UINT8_C(201), UINT8_C( 83), UINT8_C( 90), UINT8_C( 66),
      UINT8_C(234), UINT8_C( 16), UINT8_C(102), UINT8_C(251), UINT8_C( 52), UINT8_C(173), UINT8_C(163), UINT8_C(137),
      UINT8_C(167), UINT8_C( 45), UINT8_C( 57), UINT8_C( 37), UINT8_C( 87), UINT8_C(214), UINT8_C(173), UINT8_C( 51),
      UINT8_C(221), UINT8_C( 31), UINT8_C( 93), UINT8_C( 33), UINT8_C(216), UINT8_C(129), UINT8_C(203), UINT8_C(  8),
      UINT8_C( 21), UINT8_C(131), UINT8_C(184), UINT8_C(222), UINT8_C(215), UINT8_C( 18), UINT8_C( 33), UINT8_C(193),
      UINT8_C( 34), UINT8_C(135), UINT8_C(188), UINT8_C( 86), UINT8_C( 52), UINT8_C( 95), UINT8_C(224), UINT8_C(219),
      UINT8_C(141), UINT8_C( 25), UINT8_C(  1), UINT8_C(228), UINT8_C(239), UINT8_C(174), UINT8_C( 23), UINT8_C(205),
      UINT8_C(205), UINT8_C(116), UINT8_C(238), UINT8_C(165), UINT8_C(246), UINT8_C(186), UINT8_C(173), UINT8_C( 11),
      UINT8_C( 61), UINT8_C(101), UINT8_C(234), UINT8_C( 20), UINT8_C(120), UINT8_C( 11), UINT8_C(213), UINT8_C(154),
      UINT8_C(146), UINT8_C(145), UINT8_C(241), UINT8_C(198), UINT8_C(241), UINT8_C(209), UINT8_C(161), UINT8_C(126),
      UINT8_C(234), UINT8_C(162), UINT8_C( 98), UINT8_C(218), UINT8_C( 80), UINT8_C(122), UINT8_C(167), UINT8_C( 29),
      UINT8_C(238), UINT8_C(149), UINT8_C(194), UINT8_C(228), UINT8_C( 79), UINT8_C(112), UINT8_C(240), UINT8_C(141),
      UINT8_C(213), UINT8_C(218), UINT8_C(161), UINT8_C( 77), UINT8_C(229), UINT8_C(119), UINT8_C(232), UINT8_C(119),
      UINT8_C(  8), UINT8_C(217), UINT8_C( 61), UINT8_C(249), UINT8_C(170), UINT8_C(222), UINT8_C(119), UINT8_C(148),
      UINT8_C(129), UINT8_C(218), UINT8_C(110), UINT8_C(209), UINT8_C( 84), UINT8_C( 21), UINT8_C(239), UINT8_C( 66),
      UINT8_C(171), UINT8_C(177), UINT8_C( 39), UINT8_C(250), UINT8_C( 33), UINT8_C( 23), UINT8_C(135), UINT8_C(247),
      UINT8_C(241), UINT8_C( 41), UINT8_C( 68), UINT8_C(214), UINT8_C(160), UINT8_C( 44), UINT8_C( 77), UINT8_C(168),
      UINT8_C(  5), UINT8_C(138), UINT8_C(162), UINT8_C(175), UINT8_C(104), UINT8_C( 25), UINT8_C( 68), UINT8_C(233),
      UINT8_C(243), UINT8_C(178), UINT8_C(187), UINT8_C( 71), UINT8_C(200), UINT8_C(170), UINT8_C(138), UINT8_C(115),
      UINT8_C( 91), UINT8_C(177), UINT8_C(109), UINT8_C(125), UINT8_C(200), UINT8_C(245), UINT8_C(116), UINT8_C(185),
      UINT8_C( 30), UINT8_C(184), UINT8_C(143), UINT8_C(190), UINT8_C(229), UINT8_C(220), UINT8_C(102), UINT8_C(234),
      UINT8_C(102), UINT8_C(  8), UINT8_C(154), UINT8_C(206), UINT8_C( 34), UINT8_C(222), UINT8_C(184), UINT8_C( 21),
      UINT8_C(144), UINT8_C(115), UINT8_C( 93), UINT8_C( 88), UINT8_C( 29), UINT8_C(231), UINT8_C(203), UINT8_C(120),
      UINT8_C(152), UINT8_C( 57), UINT8_C(245), UINT8_C( 96), UINT8_C( 46), UINT8_C(105), UINT8_C( 25), UINT8_C( 76),
      UINT8_C( 34), UINT8_C(168), UINT8_C( 10), UINT8_C(  7), UINT8_C(132), UINT8_C(112), UINT8_C(241), UINT8_C(234),
      UINT8_C(121), UINT8_C(139), UINT8_C(184), UINT8_C(155), UINT8_C(105), UINT8_C(112), UINT8_C(176), UINT8_C(250),
      UINT8_C(227), UINT8_C( 13), UINT8_C( 82), UINT8_C(  0), UINT8_C(244), UINT8_C( 30), UINT8_C(121), UINT8_C(140),
      UINT8_C( 87), UINT8_C(110), UINT8_C(236), UINT8_C(133), UINT8_C(216), UINT8_C(  5), UINT8_C(209), UINT8_C(250),
      UINT8_C(173), UINT8_C(219), UINT8_C(  1), UINT8_C( 49), UINT8_C( 75), UINT8_C(242), UINT8_C( 27), UINT8_C(196),
      UINT8_C(126), UINT8_C(212), UINT8_C( 95), UINT8_C(231), UINT8_C( 68), UINT8_C( 16), UINT8_C(225), UINT8_C( 40),
      UINT8_C( 29), UINT8_C( 52), UINT8_C( 40), UINT8_C( 18), UINT8_C( 82), UINT8_C(161), UINT8_C(158), UINT8_C(169),
      UINT8_C( 16), UINT8_C(139), UINT8_C( 46), UINT8_C(232), UINT8_C(144),    UINT8_MAX, UINT8_C(226), UINT8_C( 62),
      UINT8_C(218), UINT8_C(227), UINT8_C(111), UINT8_C( 37), UINT8_C(213), UINT8_C(139), UINT8_C(234), UINT8_C( 83),
      UINT8_C( 95), UINT8_C( 73), UINT8_C( 59), UINT8_C(163), UINT8_C( 89), UINT8_C( 28), UINT8_C(203), UINT8_C(119),
      UINT8_C( 80), UINT8_C(244), UINT8_C(137), UINT8_C(162), UINT8_C(149), UINT8_C( 39), UINT8_C( 75), UINT8_C(165),
      UINT8_C(178), UINT8_C(121), UINT8_C(141), UINT8_C( 67), UINT8_C(120), UINT8_C(111), UINT8_C(129), UINT8_C( 82),
      UINT8_C( 82), UINT8_C(240), UINT8_C(120), UINT8_C( 40), UINT8_C(123), UINT8_C( 98), UINT8_C(123), UINT8_C(218),
      UINT8_C(171), UINT8_C(182), UINT8_C(126), UINT8_C(  5), UINT8_C(211), UINT8_C( 73), UINT8_C(124), UINT8_C( 35),
      UINT8_C( 61), UINT8_C(  5), UINT8_C(198), UINT8_C(211), UINT8_C( 44), UINT8_C( 17), UINT8_C(120), UINT8_C(223),
      UINT8_C(139), UINT8_C(  6), UINT8_C( 34), UINT8_C(  3), UINT8_C(117), UINT8_C(163), UINT8_C( 86), UINT8_C(200),
      UINT8_C(147), UINT8_C(206), UINT8_C(240), UINT8_C( 15), UINT8_C( 48), UINT8_C(107), UINT8_C(233), UINT8_C(219),
      UINT8_C( 34), UINT8_C(103), UINT8_C(224), UINT8_C(245), UINT8_C(177), UINT8_C( 92), UINT8_C( 24), UINT8_C(238),
      UINT8_C( 97), UINT8_C(222), UINT8_C(193), UINT8_C(142), UINT8_C(240), UINT8_C( 58), UINT8_C(109), UINT8_C(123),
      UINT8_C( 64), UINT8_C(143), UINT8_C(126), UINT8_C(181), UINT8_C( 50), UINT8_C(212), UINT8_C(125), UINT8_C(197),
      UINT8_C(162), UINT8_C(109), UINT8_C(212), UINT8_C(210), UINT8_C(217), UINT8_C(190), UINT8_C(174), UINT8_C(251),
      UINT8_C( 37), UINT8_C(142), UINT8_C(240), UINT8_C(214), UINT8_C(235), UINT8_C(  8), UINT8_C(197), UINT8_C( 76),
      UINT8_C(231), UINT8_C(134), UINT8_C(218), UINT8_C(215), UINT8_C(192), UINT8_C( 71), UINT8_C( 82), UINT8_C(  0),
      UINT8_C(214), UINT8_C(208), UINT8_C(182), UINT8_C(  8), UINT8_C(165), UINT8_C( 51), UINT8_C(206), UINT8_C( 71),
      UINT8_C(161), UINT8_C(162), UINT8_C( 26), UINT8_C(122), UINT8_C( 96), UINT8_C(200), UINT8_C(117), UINT8_C(134),
      UINT8_C( 86), UINT8_C(101), UINT8_C( 92), UINT8_C( 65), UINT8_C(109), UINT8_C( 33), UINT8_C(142), UINT8_C( 84),
      UINT8_C(168), UINT8_C(104), UINT8_C( 43), UINT8_C(104), UINT8_C(176), UINT8_C(125), UINT8_C(105), UINT8_C(134),
      UINT8_C( 78), UINT8_C( 31), UINT8_C(143), UINT8_C(243), UINT8_C( 82), UINT8_C( 93), UINT8_C( 58), UINT8_C(243),
         UINT8_MAX, UINT8_C( 84), UINT8_C(109), UINT8_C( 96), UINT8_C( 28), UINT8_C(226), UINT8_C(230), UINT8_C(115),
      UINT8_C( 71), UINT8_C( 66), UINT8_C(180), UINT8_C(181), UINT8_C(100), UINT8_C( 66), UINT8_C(  9), UINT8_C( 12),
      UINT8_C(171), UINT8_C( 53), UINT8_C(116), UINT8_C( 91), UINT8_C(178), UINT8_C(221), UINT8_C(225), UINT8_C(  0),
      UINT8_C(252), UINT8_C(112), UINT8_C(243), UINT8_C( 79), UINT8_C(205), UINT8_C( 46), UINT8_C( 66), UINT8_C(205),
      UINT8_C(130), UINT8_C(176), UINT8_C( 45), UINT8_C(159), UINT8_C(146), UINT8_C( 19), UINT8_C( 18), UINT8_C(218),
      UINT8_C( 85), UINT8_C(198), UINT8_C(143), UINT8_C(185), UINT8_C(  9), UINT8_C(152), UINT8_C(197), UINT8_C(180),
      UINT8_C(205), UINT8_C( 58), UINT8_C( 15), UINT8_C(128), UINT8_C( 23), UINT8_C(240), UINT8_C(128), UINT8_C( 20),
      UINT8_C( 97), UINT8_C(116), UINT8_C( 99), UINT8_C( 46), UINT8_C(162), UINT8_C(165), UINT8_C(251), UINT8_C( 36),
      UINT8_C( 85), UINT8_C( 40), UINT8_C(195), UINT8_C(232), UINT8_C( 59), UINT8_C(213), UINT8_C(194), UINT8_C(145),
      UINT8_C(156), UINT8_C( 81), UINT8_C( 74), UINT8_C(165), UINT8_C(233), UINT8_C( 16), UINT8_C( 89), UINT8_C(183),
      UINT8_C( 74), UINT8_C(104), UINT8_C( 55), UINT8_C( 97), UINT8_C( 88), UINT8_C(183), UINT8_C(117), UINT8_C(185),
      UINT8_C( 43), UINT8_C(216), UINT8_C(232), UINT8_C(205), UINT8_C(126), UINT8_C(227), UINT8_C(242), UINT8_C(211),
      UINT8_C( 12), UINT8_C(181), UINT8_C(187), UINT8_C( 71), UINT8_C(139), UINT8_C(125), UINT8_C(216), UINT8_C( 39),
      UINT8_C(206), UINT8_C( 35), UINT8_C(204), UINT8_C(184), UINT8_C( 51), UINT8_C( 37), UINT8_C(111), UINT8_C(125),
      UINT8_C(141), UINT8_C(166), UINT8_C(222), UINT8_C(229), UINT8_C( 93), UINT8_C( 84), UINT8_C(159), UINT8_C(137),
      UINT8_C( 44), UINT8_C(135), UINT8_C( 86), UINT8_C(170), UINT8_C(106), UINT8_C( 72), UINT8_C(126), UINT8_C(118),
      UINT8_C(254), UINT8_C( 57), UINT8_C(190), UINT8_C(137), UINT8_C(183), UINT8_C(150), UINT8_C(176), UINT8_C(133),
      UINT8_C(185), UINT8_C(124), UINT8_C( 61), UINT8_C(236), UINT8_C(161), UINT8_C(172), UINT8_C(105), UINT8_C( 46),
      UINT8_C( 82), UINT8_C( 72), UINT8_C( 19), UINT8_C(176), UINT8_C(156), UINT8_C(178), UINT8_C( 57), UINT8_C(200),
      UINT8_C( 57), UINT8_C(143), UINT8_C(115), UINT8_C(164), UINT8_C(216), UINT8_C(241), UINT8_C( 26), UINT8_C(214),
      UINT8_C( 42), UINT8_C(216), UINT8_C( 95), UINT8_C(225), UINT8_C(111), UINT8_C( 15), UINT8_C(103), UINT8_C( 40),
      UINT8_C(139), UINT8_C(164), UINT8_C( 21), UINT8_C( 44), UINT8_C( 81), UINT8_C(126), UINT8_C( 90), UINT8_C(163),
      UINT8_C(198), UINT8_C(109), UINT8_C( 83), UINT8_C( 98), UINT8_C( 32), UINT8_C(140), UINT8_C( 43), UINT8_C( 89),
      UINT8_C( 28), UINT8_C(158), UINT8_C(253), UINT8_C(244), UINT8_C(143), UINT8_C( 24), UINT8_C(202), UINT8_C(185),
      UINT8_C(240), UINT8_C( 41), UINT8_C(155), UINT8_C( 95), UINT8_C( 56), UINT8_C(  2), UINT8_C(136), UINT8_C(195),
      UINT8_C(166), UINT8_C(157), UINT8_C(239), UINT8_C(247), UINT8_C( 27), UINT8_C( 73), UINT8_C(155), UINT8_C(226),
      UINT8_C(182), UINT8_C(238), UINT8_C( 68), UINT8_C(214), UINT8_C(123), UINT8_C(111), UINT8_C( 48), UINT8_C(151),
      UINT8_C( 13), UINT8_C( 45), UINT8_C(139), UINT8_C(156), UINT8_C( 69), UINT8_C( 85), UINT8_C( 86), UINT8_C( 54),
      UINT8_C(126), UINT8_C(241), UINT8_C(149), UINT8_C(182), UINT8_C(243), UINT8_C( 29), UINT8_C(121), UINT8_C(153),
      UINT8_C(186), UINT8_C(104), UINT8_C(145), UINT8_C(214), UINT8_C(177), UINT8_C( 44), UINT8_C(184), UINT8_C(103),
      UINT8_C( 26), UINT8_C(252), UINT8_C( 62), UINT8_C(149), UINT8_C(108), UINT8_C(110), UINT8_C( 44), UINT8_C(121),
      UINT8_C(155), UINT8_C(183), UINT8_C( 22), UINT8_C(225), UINT8_C( 12), UINT8_C(108), UINT8_C( 23), UINT8_C(138),
      UINT8_C( 93), UINT8_C(172), UINT8_C( 64), UINT8_C( 80), UINT8_C(202), UINT8_C(185), UINT8_C(233), UINT8_C(132),
      UINT8_C( 33), UINT8_C(122), UINT8_C( 90), UINT8_C(210), UINT8_C(166), UINT8_C( 18) };
  static const uint8_t b = UINT8_C(176);
  static const uint8_t e[] =
    {    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,
         UINT8_MAX, UINT8_C(191),    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,
         UINT8_MAX, UINT8_C(212),    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,
         UINT8_MAX, UINT8_C(205),    UINT8_MAX,    UINT8_MAX, UINT8_C(250), UINT8_C(217),    UINT8_MAX,    UINT8_MAX,
         UINT8_MAX,    UINT8_MAX, UINT8_C(193),    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,
         UINT8_MAX, UINT8_C(217), UINT8_C(224),    UINT8_MAX,    UINT8_MAX, UINT8_C(183),    UINT8_MAX,    UINT8_MAX,
      UINT8_C(220), UINT8_C(244),    UINT8_MAX, UINT8_C(186),    UINT8_MAX,    UINT8_MAX,    UINT8_MAX, UINT8_C(211),
         UINT8_MAX, UINT8_C(225),    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,
      UINT8_C(185),    UINT8_MAX,    UINT8_MAX,    UINT8_MAX, UINT8_C(254), UINT8_C(236), UINT8_C(247),    UINT8_MAX,
         UINT8_MAX,    UINT8_MAX,    UINT8_MAX, UINT8_C(190),    UINT8_MAX, UINT8_C(229),    UINT8_MAX,    UINT8_MAX,
         UINT8_MAX,    UINT8_MAX,    UINT8_MAX, UINT8_C(211), UINT8_C(193), UINT8_C(212), UINT8_C(247),    UINT8_MAX,
         UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX, UINT8_C(218),    UINT8_MAX,    UINT8_MAX,
         UINT8_MAX, UINT8_C(183),    UINT8_MAX, UINT8_C(218), UINT8_C(244),    UINT8_MAX, UINT8_C(212),    UINT8_MAX,
      UINT8_C(224),    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX, UINT8_C(242),
         UINT8_MAX, UINT8_C(192),    UINT8_MAX,    UINT8_MAX, UINT8_C(228),    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,
         UINT8_MAX, UINT8_C(221), UINT8_C(233), UINT8_C(213),    UINT8_MAX,    UINT8_MAX,    UINT8_MAX, UINT8_C(227),
         UINT8_MAX, UINT8_C(207),    UINT8_MAX, UINT8_C(209),    UINT8_MAX,    UINT8_MAX,    UINT8_MAX, UINT8_C(184),
      UINT8_C(197),    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX, UINT8_C(194), UINT8_C(209),    UINT8_MAX,
      UINT8_C(210),    UINT8_MAX,    UINT8_MAX,    UINT8_MAX, UINT8_C(228),    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,
         UINT8_MAX, UINT8_C(201), UINT8_C(177),    UINT8_MAX,    UINT8_MAX,    UINT8_MAX, UINT8_C(199),    UINT8_MAX,
         UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX, UINT8_C(187),
      UINT8_C(237),    UINT8_MAX,    UINT8_MAX, UINT8_C(196),    UINT8_MAX, UINT8_C(187),    UINT8_MAX,    UINT8_MAX,
         UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,
         UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX, UINT8_C(205),
         UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,
         UINT8_MAX,    UINT8_MAX,    UINT8_MAX, UINT8_C(253),    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,
      UINT8_C(184),    UINT8_MAX, UINT8_C(237),    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,
         UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX, UINT8_C(197),    UINT8_MAX, UINT8_C(242),
         UINT8_MAX,    UINT8_MAX, UINT8_C(215),    UINT8_MAX, UINT8_C(209), UINT8_C(199),    UINT8_MAX,    UINT8_MAX,
         UINT8_MAX, UINT8_C(217), UINT8_C(244),    UINT8_MAX,    UINT8_MAX, UINT8_C(220), UINT8_C(253),    UINT8_MAX,
      UINT8_C(181),    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX, UINT8_C(201), UINT8_C(244),    UINT8_MAX,
         UINT8_MAX,    UINT8_MAX,    UINT8_MAX, UINT8_C(247),    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,
         UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,
      UINT8_C(206),    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,
         UINT8_MAX, UINT8_C(184),    UINT8_MAX,    UINT8_MAX, UINT8_C(210),    UINT8_MAX,    UINT8_MAX, UINT8_C(197),
         UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX, UINT8_C(205),    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,
         UINT8_MAX, UINT8_C(233),    UINT8_MAX,    UINT8_MAX, UINT8_C(222),    UINT8_MAX, UINT8_C(201), UINT8_C(252),
      UINT8_C(210),    UINT8_MAX, UINT8_C(186), UINT8_C(183),    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,
         UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,
         UINT8_MAX, UINT8_C(189),    UINT8_MAX, UINT8_C(176),    UINT8_MAX, UINT8_C(206),    UINT8_MAX,    UINT8_MAX,
         UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX, UINT8_C(181),    UINT8_MAX,    UINT8_MAX,
         UINT8_MAX,    UINT8_MAX, UINT8_C(177), UINT8_C(225), UINT8_C(251),    UINT8_MAX, UINT8_C(203),    UINT8_MAX,
         UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX, UINT8_C(244), UINT8_C(192),    UINT8_MAX, UINT8_C(216),
      UINT8_C(205), UINT8_C(228), UINT8_C(216), UINT8_C(194),    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,
      UINT8_C(192),    UINT8_MAX, UINT8_C(222),    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX, UINT8_C(238),
         UINT8_MAX,    UINT8_MAX,    UINT8_MAX, UINT8_C(213),    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,
         UINT8_MAX, UINT8_C(249), UINT8_C(235),    UINT8_MAX,    UINT8_MAX, UINT8_C(204),    UINT8_MAX,    UINT8_MAX,
         UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX, UINT8_C(215), UINT8_C(251),    UINT8_MAX,
         UINT8_MAX,    UINT8_MAX,    UINT8_MAX, UINT8_C(243),    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,
         UINT8_MAX,    UINT8_MAX,    UINT8_MAX, UINT8_C(216),    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,
         UINT8_MAX,    UINT8_MAX,    UINT8_MAX, UINT8_C(181),    UINT8_MAX, UINT8_C(249),    UINT8_MAX, UINT8_C(211),
      UINT8_C(237), UINT8_C(181),    UINT8_MAX,    UINT8_MAX, UINT8_C(220), UINT8_C(193),    UINT8_MAX,    UINT8_MAX,
         UINT8_MAX, UINT8_C(182), UINT8_C(210), UINT8_C(179),    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,
         UINT8_MAX,    UINT8_MAX,    UINT8_MAX, UINT8_C(191), UINT8_C(224),    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,
      UINT8_C(210),    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX, UINT8_C(200),    UINT8_MAX,
         UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX, UINT8_C(234),    UINT8_MAX,    UINT8_MAX,
      UINT8_C(240),    UINT8_MAX,    UINT8_MAX,    UINT8_MAX, UINT8_C(226),    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,
         UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,
      UINT8_C(213),    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX, UINT8_C(184),    UINT8_MAX, UINT8_C(252),
         UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX, UINT8_C(247),    UINT8_MAX, UINT8_C(176),
         UINT8_MAX,    UINT8_MAX,    UINT8_MAX, UINT8_C(184),    UINT8_MAX, UINT8_C(227),    UINT8_MAX, UINT8_C(247),
         UINT8_MAX,    UINT8_MAX, UINT8_C(202),    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,
         UINT8_MAX,    UINT8_MAX,    UINT8_MAX, UINT8_C(241),    UINT8_MAX, UINT8_C(209),    UINT8_MAX,    UINT8_MAX,
         UINT8_MAX,    UINT8_MAX, UINT8_C(219),    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,
      UINT8_C(254), UINT8_C(207),    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX, UINT8_C(234),    UINT8_MAX,
         UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX, UINT8_C(204),    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,
      UINT8_C(247), UINT8_C(242),    UINT8_MAX,    UINT8_MAX,    UINT8_MAX, UINT8_C(242), UINT8_C(185), UINT8_C(188),
         UINT8_MAX, UINT8_C(229),    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX, UINT8_C(176),
         UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX, UINT8_C(222), UINT8_C(242),    UINT8_MAX,
         UINT8_MAX,    UINT8_MAX, UINT8_C(221),    UINT8_MAX,    UINT8_MAX, UINT8_C(195), UINT8_C(194),    UINT8_MAX,
         UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX, UINT8_C(185),    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,
         UINT8_MAX, UINT8_C(234), UINT8_C(191),    UINT8_MAX, UINT8_C(199),    UINT8_MAX,    UINT8_MAX, UINT8_C(196),
         UINT8_MAX,    UINT8_MAX,    UINT8_MAX, UINT8_C(222),    UINT8_MAX,    UINT8_MAX,    UINT8_MAX, UINT8_C(212),
         UINT8_MAX, UINT8_C(216),    UINT8_MAX,    UINT8_MAX, UINT8_C(235),    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,
         UINT8_MAX,    UINT8_MAX, UINT8_C(250),    UINT8_MAX,    UINT8_MAX, UINT8_C(192),    UINT8_MAX,    UINT8_MAX,
      UINT8_C(250),    UINT8_MAX, UINT8_C(231),    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,
      UINT8_C(219),    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,
      UINT8_C(188),    UINT8_MAX,    UINT8_MAX, UINT8_C(247),    UINT8_MAX,    UINT8_MAX,    UINT8_MAX, UINT8_C(215),
         UINT8_MAX, UINT8_C(211),    UINT8_MAX,    UINT8_MAX, UINT8_C(227), UINT8_C(213),    UINT8_MAX,    UINT8_MAX,
         UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,
      UINT8_C(220),    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX, UINT8_C(248),    UINT8_MAX,    UINT8_MAX,
         UINT8_MAX, UINT8_C(233),    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,
         UINT8_MAX,    UINT8_MAX, UINT8_C(237),    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX, UINT8_C(222),
         UINT8_MAX, UINT8_C(248), UINT8_C(195),    UINT8_MAX,    UINT8_MAX,    UINT8_MAX, UINT8_C(233),    UINT8_MAX,
      UINT8_C(233),    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX, UINT8_C(202),    UINT8_MAX,
      UINT8_C(218),    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX, UINT8_C(191),    UINT8_MAX, UINT8_C(216),
         UINT8_MAX,    UINT8_MAX, UINT8_C(197), UINT8_C(220),    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,
         UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX, UINT8_C(208),    UINT8_MAX, UINT8_C(219),    UINT8_MAX,
      UINT8_C(204),    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX, UINT8_C(200),    UINT8_MAX,    UINT8_MAX,
         UINT8_MAX, UINT8_C(217),    UINT8_MAX,    UINT8_MAX, UINT8_C(232), UINT8_C(178),    UINT8_MAX,    UINT8_MAX,
         UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX, UINT8_C(203), UINT8_C(249),    UINT8_MAX,    UINT8_MAX,
         UINT8_MAX,    UINT8_MAX, UINT8_C(244),    UINT8_MAX,    UINT8_MAX,    UINT8_MAX, UINT8_C(224),    UINT8_MAX,
      UINT8_C(189), UINT8_C(221),    UINT8_MAX,    UINT8_MAX, UINT8_C(245),    UINT8_MAX,    UINT8_MAX, UINT8_C(230),
         UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX, UINT8_C(205),    UINT8_MAX,    UINT8_MAX,
         UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX, UINT8_C(220),    UINT8_MAX,    UINT8_MAX,
      UINT8_C(202),    UINT8_MAX, UINT8_C(238),    UINT8_MAX,    UINT8_MAX,    UINT8_MAX, UINT8_C(220),    UINT8_MAX,
         UINT8_MAX,    UINT8_MAX, UINT8_C(198),    UINT8_MAX, UINT8_C(188),    UINT8_MAX, UINT8_C(199),    UINT8_MAX,
         UINT8_MAX,    UINT8_MAX, UINT8_C(240),    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,
      UINT8_C(209),    UINT8_MAX,    UINT8_MAX,    UINT8_MAX,    UINT8_MAX, UINT8_C(194) };

  static uint8_t r[sizeof(e) / sizeof(e[0])];
  static const int32_t len = HEDLEY_STATIC_CAST(int32_t, sizeof(e) / sizeof(e[0]));
  int32_t i = 0;
  simde_svbool_t pg = simde_svwhilelt_b8_s32(i, len);
  while (simde_svptest_first(simde_svptrue_b8(), pg)) {
    simde_svuint8_t
      rv,
      av = simde_svld1_u8(pg, &(a[i]));

    rv = simde_svqadd_n_u8(av, b);

    simde_svst1_u8(pg, &(r[i]), rv);

    i += simde_svcntb();
    pg = simde_svwhilelt_b8_s32(i, len);
  }

  simde_assert_equal_vu8(len, e, r);

  return 0;
#else
  uint8_t a[1024], b, e[1024];
  int32_t len = simde_test_arm_sve_random_length(sizeof(e), sizeof(e[0]));

  fputc('\n', stdout);

  simde_test_codegen_random_memory(sizeof(a), HEDLEY_REINTERPRET_CAST(uint8_t*, a));
  b = simde_test_codegen_random_u8();

  int32_t i = 0;
  simde_svbool_t pg = simde_svwhilelt_b8_s32(i, len);
  while (simde_svptest_first(simde_svptrue_b8(), pg)) {
    simde_svuint8_t av, ev;

    av = simde_svld1_u8(pg, &(a[i]));

    ev = simde_svqadd_n_u8(av, b);

    simde_svst1_u8(pg, &(e[i]), ev);

    i += simde_svcntb();
    pg = simde_svwhilelt_b8_s32(i, len);
  }

  simde_test_codegen_write_1vu8(1, HEDLEY_STATIC_CAST(size_t, len), a);
  simde_test_codegen_write_1u8(1, b);
  simde_test_codegen_write_1vu8(1, HEDLEY_STATIC_CAST(size_t, len), e);

  return 1;
#endif
}

static int
test_simde_svqadd_n_u16 (SIMDE_MUNIT_TEST_ARGS) {
#if 1
  static const uint16_t a[] =
    { UINT16_C(43447), UINT16_C(36082), UINT16_C(56914), UINT16_C(32273), UINT16_C(61781), UINT16_C(20844), UINT16_C(17135), UINT16_C( 5771),
      UINT16_C(11747), UINT16_C(26720), UINT16_C(11290), UINT16_C(14140), UINT16_C(16187), UINT16_C(59275), UINT16_C(38352), UINT16_C(34567),
      UINT16_C(63806), UINT16_C(36883), UINT16_C( 9432), UINT16_C(11535), UINT16_C(31510), UINT16_C( 1406), UINT16_C( 2493), UINT16_C(40988),
      UINT16_C(31799), UINT16_C(20745), UINT16_C(17832), UINT16_C(58248), UINT16_C( 4997), UINT16_C(21963), UINT16_C(53929), UINT16_C(59356),
      UINT16_C(61644), UINT16_C(42104), UINT16_C(34580), UINT16_C(10961), UINT16_C(20226), UINT16_C(48944), UINT16_C(19544), UINT16_C(36703),
      UINT16_C(26824), UINT16_C(29152), UINT16_C(27054), UINT16_C(13140), UINT16_C( 8060), UINT16_C( 9608), UINT16_C(25842), UINT16_C(48653),
      UINT16_C(34132), UINT16_C(26978), UINT16_C(13068), UINT16_C( 3731), UINT16_C(50050), UINT16_C(56013), UINT16_C(11279), UINT16_C(55402),
      UINT16_C(19093), UINT16_C(17225), UINT16_C(40371), UINT16_C(12406), UINT16_C(65213), UINT16_C(44885), UINT16_C(25186), UINT16_C(46957),
      UINT16_C(53223), UINT16_C(62240), UINT16_C(45826), UINT16_C(33793), UINT16_C(52855), UINT16_C(34398), UINT16_C(51451), UINT16_C(36958),
      UINT16_C(42771), UINT16_C(50899), UINT16_C(18757), UINT16_C(  758), UINT16_C(19527), UINT16_C(43441), UINT16_C( 7854), UINT16_C(38496),
      UINT16_C(33005), UINT16_C(61321), UINT16_C(35636), UINT16_C(43891), UINT16_C(53593), UINT16_C(21553), UINT16_C(37018), UINT16_C(44516),
      UINT16_C(46903), UINT16_C(31859), UINT16_C(27136), UINT16_C(18302), UINT16_C(12214), UINT16_C(25841), UINT16_C(20813), UINT16_C(15098),
      UINT16_C(34002), UINT16_C( 1577), UINT16_C(39951), UINT16_C(26801), UINT16_C(57966), UINT16_C( 2237), UINT16_C(41330), UINT16_C(43701),
      UINT16_C(10329), UINT16_C(22822), UINT16_C(42386), UINT16_C(18593), UINT16_C(37588), UINT16_C( 8877), UINT16_C(42979), UINT16_C(46428),
      UINT16_C(34347), UINT16_C(15035), UINT16_C(27682), UINT16_C(37027), UINT16_C(24655), UINT16_C(49560), UINT16_C(19713), UINT16_C(23147),
      UINT16_C(37494), UINT16_C( 2228), UINT16_C(21815), UINT16_C( 2897), UINT16_C(65255), UINT16_C(51757), UINT16_C(35493), UINT16_C(53632),
      UINT16_C(15120), UINT16_C(12811), UINT16_C(44712), UINT16_C(63427), UINT16_C(23310), UINT16_C( 4280), UINT16_C( 9385), UINT16_C( 8042),
      UINT16_C( 7862), UINT16_C(60711), UINT16_C(30835), UINT16_C(23288), UINT16_C( 9846), UINT16_C( 7205), UINT16_C(42416), UINT16_C(49389),
      UINT16_C(63712), UINT16_C(35058), UINT16_C(46503), UINT16_C(46463), UINT16_C(14353), UINT16_C(47813), UINT16_C(12380), UINT16_C( 4825),
      UINT16_C(   78), UINT16_C(49919), UINT16_C(63353), UINT16_C(61212), UINT16_C(16669), UINT16_C(52491), UINT16_C(63718), UINT16_C(51085),
      UINT16_C(33009), UINT16_C(38991), UINT16_C(53045), UINT16_C(17997), UINT16_C( 4871), UINT16_C(25344), UINT16_C(55619), UINT16_C(37237),
      UINT16_C(29914), UINT16_C(21331), UINT16_C(28779), UINT16_C(35138), UINT16_C(20145), UINT16_C(38998), UINT16_C(58438), UINT16_C(14175),
      UINT16_C(44644), UINT16_C(39375), UINT16_C( 7549), UINT16_C(34016), UINT16_C(57392), UINT16_C(29671), UINT16_C(23738), UINT16_C(37892),
      UINT16_C(22736), UINT16_C(15591), UINT16_C(10696), UINT16_C(31173), UINT16_C( 7031), UINT16_C(48657), UINT16_C(28927), UINT16_C(25589),
      UINT16_C(50463), UINT16_C(40189), UINT16_C(56802), UINT16_C( 4641), UINT16_C( 2237), UINT16_C(30597), UINT16_C(35173), UINT16_C(13579),
      UINT16_C(62177), UINT16_C(43377), UINT16_C(13852), UINT16_C(37667), UINT16_C(13394), UINT16_C(20817), UINT16_C(18341), UINT16_C(50357),
      UINT16_C(45580), UINT16_C(61024), UINT16_C(33167), UINT16_C(19456), UINT16_C(34186), UINT16_C(61380), UINT16_C(53006), UINT16_C(61476),
      UINT16_C(38594), UINT16_C(56985), UINT16_C(48332), UINT16_C( 7793), UINT16_C(50161), UINT16_C(38512), UINT16_C( 9482), UINT16_C( 5722),
      UINT16_C(47831), UINT16_C(26116), UINT16_C( 1084), UINT16_C(50866), UINT16_C(30345), UINT16_C(38837), UINT16_C(55622), UINT16_C( 2183),
      UINT16_C( 8559), UINT16_C(15590), UINT16_C(22493), UINT16_C(52826), UINT16_C(51738), UINT16_C( 9316), UINT16_C(48879), UINT16_C(50746),
      UINT16_C(15993), UINT16_C(46380), UINT16_C(57154), UINT16_C(52091), UINT16_C(12373), UINT16_C(39779), UINT16_C(59913), UINT16_C(31139),
      UINT16_C(35083), UINT16_C(59829), UINT16_C( 4065), UINT16_C(64439), UINT16_C( 7386), UINT16_C(51488), UINT16_C(23258), UINT16_C(21392),
      UINT16_C(48281), UINT16_C(56072), UINT16_C(33691), UINT16_C(61863), UINT16_C( 2739), UINT16_C(48524), UINT16_C(12532), UINT16_C(   54),
      UINT16_C(60345), UINT16_C(39657), UINT16_C(41210), UINT16_C(54422), UINT16_C(46780), UINT16_C(38814), UINT16_C(11792), UINT16_C(43498),
      UINT16_C(62442), UINT16_C(34437), UINT16_C(11382), UINT16_C(10871), UINT16_C(  822), UINT16_C(10983), UINT16_C( 7475), UINT16_C(60714),
      UINT16_C( 4872), UINT16_C(  647), UINT16_C( 7604), UINT16_C(28887), UINT16_C(30163), UINT16_C(58375), UINT16_C(62115), UINT16_C(36237),
      UINT16_C( 4837), UINT16_C(23315), UINT16_C(35390), UINT16_C(29829), UINT16_C(27790), UINT16_C(49567), UINT16_C(51593), UINT16_C(37294),
      UINT16_C(14045), UINT16_C(37268), UINT16_C(27475), UINT16_C( 9985), UINT16_C( 2528), UINT16_C(33547), UINT16_C(39163), UINT16_C(57360),
      UINT16_C( 9387), UINT16_C(59707), UINT16_C(49582), UINT16_C(15454), UINT16_C(64813), UINT16_C(47102), UINT16_C(44230), UINT16_C(41800),
      UINT16_C(56546), UINT16_C(13876), UINT16_C(13895), UINT16_C(10077), UINT16_C(26687), UINT16_C(15018), UINT16_C(47872), UINT16_C(43802),
      UINT16_C(21983), UINT16_C(36245), UINT16_C(62230), UINT16_C(17610), UINT16_C(51440), UINT16_C(46843), UINT16_C(17268), UINT16_C(22362),
      UINT16_C(36384), UINT16_C(26509), UINT16_C(60100), UINT16_C(  911), UINT16_C(14674), UINT16_C(21053), UINT16_C(22516), UINT16_C(54270),
      UINT16_C(37805), UINT16_C(50017), UINT16_C(11142), UINT16_C(30215), UINT16_C(  755), UINT16_C(26412), UINT16_C(34374), UINT16_C(26302),
      UINT16_C(19221), UINT16_C(55757), UINT16_C(23605), UINT16_C(34781), UINT16_C( 6806), UINT16_C(35546), UINT16_C(55410), UINT16_C( 8030),
      UINT16_C(49003), UINT16_C(61922), UINT16_C(60138), UINT16_C(56679), UINT16_C(37868), UINT16_C(12868), UINT16_C(  794), UINT16_C(12184),
      UINT16_C(26190), UINT16_C(33800), UINT16_C(58818), UINT16_C(22539), UINT16_C(58624), UINT16_C(29411), UINT16_C(16829), UINT16_C(10385),
      UINT16_C(29440), UINT16_C(59929), UINT16_C(32861), UINT16_C(19143), UINT16_C( 2836), UINT16_C(11900), UINT16_C( 5390), UINT16_C(23901),
      UINT16_C(25979), UINT16_C(15841), UINT16_C(60491), UINT16_C(19350), UINT16_C(31186), UINT16_C(36797), UINT16_C(20154), UINT16_C(47800),
      UINT16_C(53697), UINT16_C( 8100), UINT16_C(27474), UINT16_C(26217), UINT16_C(58742), UINT16_C(34196), UINT16_C(61946), UINT16_C(30178),
      UINT16_C(50006), UINT16_C(41395), UINT16_C(18863), UINT16_C(33260), UINT16_C(43458), UINT16_C(31761), UINT16_C(51703), UINT16_C(47414),
      UINT16_C(55962), UINT16_C(60632), UINT16_C(16709), UINT16_C(47954), UINT16_C(58918), UINT16_C( 8512), UINT16_C( 8919), UINT16_C(11926),
      UINT16_C(18917), UINT16_C(38351), UINT16_C(48274), UINT16_C(21526), UINT16_C(10085), UINT16_C(24016), UINT16_C( 1776), UINT16_C(35606),
      UINT16_C(61152), UINT16_C( 9591), UINT16_C(51759), UINT16_C(21985), UINT16_C( 8624), UINT16_C(34934), UINT16_C( 3396), UINT16_C(10678),
      UINT16_C(34134), UINT16_C(59838), UINT16_C(54593), UINT16_C(42813) };
  static const uint16_t b = UINT16_C( 8940);
  static const uint16_t e[] =
    { UINT16_C(52387), UINT16_C(45022),      UINT16_MAX, UINT16_C(41213),      UINT16_MAX, UINT16_C(29784), UINT16_C(26075), UINT16_C(14711),
      UINT16_C(20687), UINT16_C(35660), UINT16_C(20230), UINT16_C(23080), UINT16_C(25127),      UINT16_MAX, UINT16_C(47292), UINT16_C(43507),
           UINT16_MAX, UINT16_C(45823), UINT16_C(18372), UINT16_C(20475), UINT16_C(40450), UINT16_C(10346), UINT16_C(11433), UINT16_C(49928),
      UINT16_C(40739), UINT16_C(29685), UINT16_C(26772),      UINT16_MAX, UINT16_C(13937), UINT16_C(30903), UINT16_C(62869),      UINT16_MAX,
           UINT16_MAX, UINT16_C(51044), UINT16_C(43520), UINT16_C(19901), UINT16_C(29166), UINT16_C(57884), UINT16_C(28484), UINT16_C(45643),
      UINT16_C(35764), UINT16_C(38092), UINT16_C(35994), UINT16_C(22080), UINT16_C(17000), UINT16_C(18548), UINT16_C(34782), UINT16_C(57593),
      UINT16_C(43072), UINT16_C(35918), UINT16_C(22008), UINT16_C(12671), UINT16_C(58990), UINT16_C(64953), UINT16_C(20219), UINT16_C(64342),
      UINT16_C(28033), UINT16_C(26165), UINT16_C(49311), UINT16_C(21346),      UINT16_MAX, UINT16_C(53825), UINT16_C(34126), UINT16_C(55897),
      UINT16_C(62163),      UINT16_MAX, UINT16_C(54766), UINT16_C(42733), UINT16_C(61795), UINT16_C(43338), UINT16_C(60391), UINT16_C(45898),
      UINT16_C(51711), UINT16_C(59839), UINT16_C(27697), UINT16_C( 9698), UINT16_C(28467), UINT16_C(52381), UINT16_C(16794), UINT16_C(47436),
      UINT16_C(41945),      UINT16_MAX, UINT16_C(44576), UINT16_C(52831), UINT16_C(62533), UINT16_C(30493), UINT16_C(45958), UINT16_C(53456),
      UINT16_C(55843), UINT16_C(40799), UINT16_C(36076), UINT16_C(27242), UINT16_C(21154), UINT16_C(34781), UINT16_C(29753), UINT16_C(24038),
      UINT16_C(42942), UINT16_C(10517), UINT16_C(48891), UINT16_C(35741),      UINT16_MAX, UINT16_C(11177), UINT16_C(50270), UINT16_C(52641),
      UINT16_C(19269), UINT16_C(31762), UINT16_C(51326), UINT16_C(27533), UINT16_C(46528), UINT16_C(17817), UINT16_C(51919), UINT16_C(55368),
      UINT16_C(43287), UINT16_C(23975), UINT16_C(36622), UINT16_C(45967), UINT16_C(33595), UINT16_C(58500), UINT16_C(28653), UINT16_C(32087),
      UINT16_C(46434), UINT16_C(11168), UINT16_C(30755), UINT16_C(11837),      UINT16_MAX, UINT16_C(60697), UINT16_C(44433), UINT16_C(62572),
      UINT16_C(24060), UINT16_C(21751), UINT16_C(53652),      UINT16_MAX, UINT16_C(32250), UINT16_C(13220), UINT16_C(18325), UINT16_C(16982),
      UINT16_C(16802),      UINT16_MAX, UINT16_C(39775), UINT16_C(32228), UINT16_C(18786), UINT16_C(16145), UINT16_C(51356), UINT16_C(58329),
           UINT16_MAX, UINT16_C(43998), UINT16_C(55443), UINT16_C(55403), UINT16_C(23293), UINT16_C(56753), UINT16_C(21320), UINT16_C(13765),
      UINT16_C( 9018), UINT16_C(58859),      UINT16_MAX,      UINT16_MAX, UINT16_C(25609), UINT16_C(61431),      UINT16_MAX, UINT16_C(60025),
      UINT16_C(41949), UINT16_C(47931), UINT16_C(61985), UINT16_C(26937), UINT16_C(13811), UINT16_C(34284), UINT16_C(64559), UINT16_C(46177),
      UINT16_C(38854), UINT16_C(30271), UINT16_C(37719), UINT16_C(44078), UINT16_C(29085), UINT16_C(47938),      UINT16_MAX, UINT16_C(23115),
      UINT16_C(53584), UINT16_C(48315), UINT16_C(16489), UINT16_C(42956),      UINT16_MAX, UINT16_C(38611), UINT16_C(32678), UINT16_C(46832),
      UINT16_C(31676), UINT16_C(24531), UINT16_C(19636), UINT16_C(40113), UINT16_C(15971), UINT16_C(57597), UINT16_C(37867), UINT16_C(34529),
      UINT16_C(59403), UINT16_C(49129),      UINT16_MAX, UINT16_C(13581), UINT16_C(11177), UINT16_C(39537), UINT16_C(44113), UINT16_C(22519),
           UINT16_MAX, UINT16_C(52317), UINT16_C(22792), UINT16_C(46607), UINT16_C(22334), UINT16_C(29757), UINT16_C(27281), UINT16_C(59297),
      UINT16_C(54520),      UINT16_MAX, UINT16_C(42107), UINT16_C(28396), UINT16_C(43126),      UINT16_MAX, UINT16_C(61946),      UINT16_MAX,
      UINT16_C(47534),      UINT16_MAX, UINT16_C(57272), UINT16_C(16733), UINT16_C(59101), UINT16_C(47452), UINT16_C(18422), UINT16_C(14662),
      UINT16_C(56771), UINT16_C(35056), UINT16_C(10024), UINT16_C(59806), UINT16_C(39285), UINT16_C(47777), UINT16_C(64562), UINT16_C(11123),
      UINT16_C(17499), UINT16_C(24530), UINT16_C(31433), UINT16_C(61766), UINT16_C(60678), UINT16_C(18256), UINT16_C(57819), UINT16_C(59686),
      UINT16_C(24933), UINT16_C(55320),      UINT16_MAX, UINT16_C(61031), UINT16_C(21313), UINT16_C(48719),      UINT16_MAX, UINT16_C(40079),
      UINT16_C(44023),      UINT16_MAX, UINT16_C(13005),      UINT16_MAX, UINT16_C(16326), UINT16_C(60428), UINT16_C(32198), UINT16_C(30332),
      UINT16_C(57221), UINT16_C(65012), UINT16_C(42631),      UINT16_MAX, UINT16_C(11679), UINT16_C(57464), UINT16_C(21472), UINT16_C( 8994),
           UINT16_MAX, UINT16_C(48597), UINT16_C(50150), UINT16_C(63362), UINT16_C(55720), UINT16_C(47754), UINT16_C(20732), UINT16_C(52438),
           UINT16_MAX, UINT16_C(43377), UINT16_C(20322), UINT16_C(19811), UINT16_C( 9762), UINT16_C(19923), UINT16_C(16415),      UINT16_MAX,
      UINT16_C(13812), UINT16_C( 9587), UINT16_C(16544), UINT16_C(37827), UINT16_C(39103),      UINT16_MAX,      UINT16_MAX, UINT16_C(45177),
      UINT16_C(13777), UINT16_C(32255), UINT16_C(44330), UINT16_C(38769), UINT16_C(36730), UINT16_C(58507), UINT16_C(60533), UINT16_C(46234),
      UINT16_C(22985), UINT16_C(46208), UINT16_C(36415), UINT16_C(18925), UINT16_C(11468), UINT16_C(42487), UINT16_C(48103),      UINT16_MAX,
      UINT16_C(18327),      UINT16_MAX, UINT16_C(58522), UINT16_C(24394),      UINT16_MAX, UINT16_C(56042), UINT16_C(53170), UINT16_C(50740),
      UINT16_C(65486), UINT16_C(22816), UINT16_C(22835), UINT16_C(19017), UINT16_C(35627), UINT16_C(23958), UINT16_C(56812), UINT16_C(52742),
      UINT16_C(30923), UINT16_C(45185),      UINT16_MAX, UINT16_C(26550), UINT16_C(60380), UINT16_C(55783), UINT16_C(26208), UINT16_C(31302),
      UINT16_C(45324), UINT16_C(35449),      UINT16_MAX, UINT16_C( 9851), UINT16_C(23614), UINT16_C(29993), UINT16_C(31456), UINT16_C(63210),
      UINT16_C(46745), UINT16_C(58957), UINT16_C(20082), UINT16_C(39155), UINT16_C( 9695), UINT16_C(35352), UINT16_C(43314), UINT16_C(35242),
      UINT16_C(28161), UINT16_C(64697), UINT16_C(32545), UINT16_C(43721), UINT16_C(15746), UINT16_C(44486), UINT16_C(64350), UINT16_C(16970),
      UINT16_C(57943),      UINT16_MAX,      UINT16_MAX,      UINT16_MAX, UINT16_C(46808), UINT16_C(21808), UINT16_C( 9734), UINT16_C(21124),
      UINT16_C(35130), UINT16_C(42740),      UINT16_MAX, UINT16_C(31479),      UINT16_MAX, UINT16_C(38351), UINT16_C(25769), UINT16_C(19325),
      UINT16_C(38380),      UINT16_MAX, UINT16_C(41801), UINT16_C(28083), UINT16_C(11776), UINT16_C(20840), UINT16_C(14330), UINT16_C(32841),
      UINT16_C(34919), UINT16_C(24781),      UINT16_MAX, UINT16_C(28290), UINT16_C(40126), UINT16_C(45737), UINT16_C(29094), UINT16_C(56740),
      UINT16_C(62637), UINT16_C(17040), UINT16_C(36414), UINT16_C(35157),      UINT16_MAX, UINT16_C(43136),      UINT16_MAX, UINT16_C(39118),
      UINT16_C(58946), UINT16_C(50335), UINT16_C(27803), UINT16_C(42200), UINT16_C(52398), UINT16_C(40701), UINT16_C(60643), UINT16_C(56354),
      UINT16_C(64902),      UINT16_MAX, UINT16_C(25649), UINT16_C(56894),      UINT16_MAX, UINT16_C(17452), UINT16_C(17859), UINT16_C(20866),
      UINT16_C(27857), UINT16_C(47291), UINT16_C(57214), UINT16_C(30466), UINT16_C(19025), UINT16_C(32956), UINT16_C(10716), UINT16_C(44546),
           UINT16_MAX, UINT16_C(18531), UINT16_C(60699), UINT16_C(30925), UINT16_C(17564), UINT16_C(43874), UINT16_C(12336), UINT16_C(19618),
      UINT16_C(43074),      UINT16_MAX, UINT16_C(63533), UINT16_C(51753) };

  static uint16_t r[sizeof(e) / sizeof(e[0])];
  static const int32_t len = HEDLEY_STATIC_CAST(int32_t, sizeof(e) / sizeof(e[0]));
  int32_t i = 0;
  simde_svbool_t pg = simde_svwhilelt_b16_s32(i, len);
  while (simde_svptest_first(simde_svptrue_b16(), pg)) {
    simde_svuint16_t
      rv,
      av = simde_svld1_u16(pg, &(a[i]));

    rv = simde_svqadd_n_u16(av, b);

    simde_svst1_u16(pg, &(r[i]), rv);

    i += simde_svcnth();
    pg = simde_svwhilelt_b16_s32(i, len);
  }

  simde_assert_equal_vu16(len, e, r);

  return 0;
#else
  uint16_t a[1024 / sizeof(int16_t)], b, e[1024 / sizeof(int16_t)];
  int32_t len = simde_test_arm_sve_random_length(sizeof(e), sizeof(e[0]));

  fputc('\n', stdout);

  simde_test_codegen_random_memory(sizeof(a), HEDLEY_REINTERPRET_CAST(uint8_t*, a));
  b = simde_test_codegen_random_u16();

  int32_t i = 0;
  simde_svbool_t pg = simde_svwhilelt_b16_s32(i, len);
  while (simde_svptest_first(simde_svptrue_b16(), pg)) {
    simde_svuint16_t av, ev;

    av = simde_svld1_u16(pg, &(a[i]));

    ev = simde_svqadd_n_u16(av, b);

    simde_svst1_u16(pg, &(e[i]), ev);

    i += simde_svcnth();
    pg = simde_svwhilelt_b16_s32(i, len);
  }

  simde_test_codegen_write_1vu16(1, HEDLEY_STATIC_CAST(size_t, len), a);
  simde_test_codegen_write_1u16(1, b);
  simde_test_codegen_write_1vu16(1, HEDLEY_STATIC_CAST(size_t, len), e);

  return 1;
#endif
}

static int
test_simde_svqadd_n_u32 (SIMDE_MUNIT_TEST_ARGS) {
#if 1
  static const uint32_t a[] =
    { UINT32_C(4247609450), UINT32_C(  37739268), UINT32_C(3252746025), UINT32_C(1178801714), UINT32_C( 827752125), UINT32_C(3654468009), UINT32_C(2616966726), UINT32_C( 334618281),
      UINT32_C(1108352574), UINT32_C( 591679481), UINT32_C(2044994631), UINT32_C(4173276987), UINT32_C(1311380901), UINT32_C( 472382678), UINT32_C(1689789371), UINT32_C(1064806657),
      UINT32_C(3246491848), UINT32_C( 518309591), UINT32_C( 630704362), UINT32_C(2485016303), UINT32_C(1122191468), UINT32_C(4284418628), UINT32_C( 778245933), UINT32_C(2288901056),
      UINT32_C( 977989475), UINT32_C(2673422005), UINT32_C(3871731959), UINT32_C(3011240775), UINT32_C(1878351403), UINT32_C(2523878504), UINT32_C( 751096427), UINT32_C( 280244909),
      UINT32_C(3595304481), UINT32_C( 611689517), UINT32_C(3674880660), UINT32_C(1217299741), UINT32_C(1287161059), UINT32_C(1155672024), UINT32_C(2809177849), UINT32_C(4189529304),
      UINT32_C(1355743779), UINT32_C( 997475750), UINT32_C(2635497087), UINT32_C(3890586884), UINT32_C(  20159785), UINT32_C(3192198596), UINT32_C(2489693628), UINT32_C(4253949146),
      UINT32_C(3310181663), UINT32_C( 570474914), UINT32_C(1136596799), UINT32_C(3844842684), UINT32_C( 115760706), UINT32_C( 818162804), UINT32_C(3150195169), UINT32_C(1706578502),
      UINT32_C(1378485680), UINT32_C( 108276678), UINT32_C(4266210114), UINT32_C( 451114200), UINT32_C(1193331155), UINT32_C(3614959093), UINT32_C(1418869518), UINT32_C(1052330894),
      UINT32_C( 395371600), UINT32_C(1360856335), UINT32_C( 273638968), UINT32_C(2922001115), UINT32_C(4059384827), UINT32_C(1053322288), UINT32_C( 898849447), UINT32_C(4134751397),
      UINT32_C(1057817648), UINT32_C(1099966985), UINT32_C(1800593296), UINT32_C( 219773969), UINT32_C(4160622279), UINT32_C( 574015098), UINT32_C(3327641888), UINT32_C(1186777877),
      UINT32_C(3632646607), UINT32_C(2199459571), UINT32_C( 133131253), UINT32_C(2937325800), UINT32_C(2443645463), UINT32_C(4172537304), UINT32_C(3149794214), UINT32_C(2768337622),
      UINT32_C( 914196291), UINT32_C(2461701789), UINT32_C(3935938818), UINT32_C(3365514673), UINT32_C(2539274431), UINT32_C(3280997661), UINT32_C(4001320472), UINT32_C( 210993353),
      UINT32_C(2755858439), UINT32_C(2839018919), UINT32_C(1469304998), UINT32_C(1025518718), UINT32_C(2329246317), UINT32_C(2689492359), UINT32_C(2089733555), UINT32_C(1435050573),
      UINT32_C(3657026610), UINT32_C(1870803145), UINT32_C(2143687937), UINT32_C(2948392514), UINT32_C(3896086880), UINT32_C(2861074422), UINT32_C(2720405076), UINT32_C(1811394360),
      UINT32_C(1145368699), UINT32_C( 582207265), UINT32_C( 513899228), UINT32_C(3251461472), UINT32_C(3853060079), UINT32_C(3817812366), UINT32_C(2156246599), UINT32_C(3790306405),
      UINT32_C(2368024428), UINT32_C(3551517174), UINT32_C(3018936403), UINT32_C(2641674158), UINT32_C(1417813446), UINT32_C(2520191566), UINT32_C( 756464840), UINT32_C(2769158456),
      UINT32_C( 657601584), UINT32_C(1627054605), UINT32_C(3759401778), UINT32_C(1887275178), UINT32_C(4106551461), UINT32_C(3666541586), UINT32_C(4043808953), UINT32_C(3516274337),
      UINT32_C(1475922250), UINT32_C(3719819947), UINT32_C(2294205150), UINT32_C(4177083218), UINT32_C(1307360827), UINT32_C(1931966138), UINT32_C(3076861718), UINT32_C(2408119109),
      UINT32_C(1877377476), UINT32_C(1364041075), UINT32_C(3134851943), UINT32_C(2192757574), UINT32_C(1271897745), UINT32_C( 717223700), UINT32_C(1809916966), UINT32_C(3841616159),
      UINT32_C(1582555370), UINT32_C(3836715133), UINT32_C(4070476203), UINT32_C(3983822940), UINT32_C(  37307374), UINT32_C(1613559866), UINT32_C(1003162908), UINT32_C(1629472119),
      UINT32_C( 582972325), UINT32_C(3204935443), UINT32_C(1437705720), UINT32_C(3829540342), UINT32_C(2749856616), UINT32_C(2399343475), UINT32_C(2563493665), UINT32_C( 989457044),
      UINT32_C(1901902173), UINT32_C( 540042024), UINT32_C(4285915401), UINT32_C(1860417542), UINT32_C(2802960947), UINT32_C(4281734622), UINT32_C(2023162340), UINT32_C(1236439276),
      UINT32_C(1908019017), UINT32_C(2073225842), UINT32_C(3514435531), UINT32_C(4081082047), UINT32_C( 110776616), UINT32_C(1241895014), UINT32_C(3200490706), UINT32_C(1980200237),
      UINT32_C(4159226500), UINT32_C(2020768428), UINT32_C(1095363969), UINT32_C(1932822859), UINT32_C(1098567387), UINT32_C(1888255902), UINT32_C(1227771676), UINT32_C(1237268164),
      UINT32_C(2755700728), UINT32_C(2736566817), UINT32_C(3940837023), UINT32_C(3395164399), UINT32_C(2215434470), UINT32_C(1945475159), UINT32_C(2881233895), UINT32_C(1374977113),
      UINT32_C(1173763107), UINT32_C(2263356135), UINT32_C(1752288376), UINT32_C(3392327652), UINT32_C(4266540711), UINT32_C(3178382294), UINT32_C(3228118631), UINT32_C(3457310122),
      UINT32_C(2031290514), UINT32_C(2483026714), UINT32_C(2885382343), UINT32_C(3866438975), UINT32_C(1122354028) };
  static const uint32_t b = UINT32_C(4077696055);
  static const uint32_t e[] =
    {           UINT32_MAX, UINT32_C(4115435323),           UINT32_MAX,           UINT32_MAX,           UINT32_MAX,           UINT32_MAX,           UINT32_MAX,           UINT32_MAX,
                UINT32_MAX,           UINT32_MAX,           UINT32_MAX,           UINT32_MAX,           UINT32_MAX,           UINT32_MAX,           UINT32_MAX,           UINT32_MAX,
                UINT32_MAX,           UINT32_MAX,           UINT32_MAX,           UINT32_MAX,           UINT32_MAX,           UINT32_MAX,           UINT32_MAX,           UINT32_MAX,
                UINT32_MAX,           UINT32_MAX,           UINT32_MAX,           UINT32_MAX,           UINT32_MAX,           UINT32_MAX,           UINT32_MAX,           UINT32_MAX,
                UINT32_MAX,           UINT32_MAX,           UINT32_MAX,           UINT32_MAX,           UINT32_MAX,           UINT32_MAX,           UINT32_MAX,           UINT32_MAX,
                UINT32_MAX,           UINT32_MAX,           UINT32_MAX,           UINT32_MAX, UINT32_C(4097855840),           UINT32_MAX,           UINT32_MAX,           UINT32_MAX,
                UINT32_MAX,           UINT32_MAX,           UINT32_MAX,           UINT32_MAX, UINT32_C(4193456761),           UINT32_MAX,           UINT32_MAX,           UINT32_MAX,
                UINT32_MAX, UINT32_C(4185972733),           UINT32_MAX,           UINT32_MAX,           UINT32_MAX,           UINT32_MAX,           UINT32_MAX,           UINT32_MAX,
                UINT32_MAX,           UINT32_MAX,           UINT32_MAX,           UINT32_MAX,           UINT32_MAX,           UINT32_MAX,           UINT32_MAX,           UINT32_MAX,
                UINT32_MAX,           UINT32_MAX,           UINT32_MAX,           UINT32_MAX,           UINT32_MAX,           UINT32_MAX,           UINT32_MAX,           UINT32_MAX,
                UINT32_MAX,           UINT32_MAX, UINT32_C(4210827308),           UINT32_MAX,           UINT32_MAX,           UINT32_MAX,           UINT32_MAX,           UINT32_MAX,
                UINT32_MAX,           UINT32_MAX,           UINT32_MAX,           UINT32_MAX,           UINT32_MAX,           UINT32_MAX,           UINT32_MAX, UINT32_C(4288689408),
                UINT32_MAX,           UINT32_MAX,           UINT32_MAX,           UINT32_MAX,           UINT32_MAX,           UINT32_MAX,           UINT32_MAX,           UINT32_MAX,
                UINT32_MAX,           UINT32_MAX,           UINT32_MAX,           UINT32_MAX,           UINT32_MAX,           UINT32_MAX,           UINT32_MAX,           UINT32_MAX,
                UINT32_MAX,           UINT32_MAX,           UINT32_MAX,           UINT32_MAX,           UINT32_MAX,           UINT32_MAX,           UINT32_MAX,           UINT32_MAX,
                UINT32_MAX,           UINT32_MAX,           UINT32_MAX,           UINT32_MAX,           UINT32_MAX,           UINT32_MAX,           UINT32_MAX,           UINT32_MAX,
                UINT32_MAX,           UINT32_MAX,           UINT32_MAX,           UINT32_MAX,           UINT32_MAX,           UINT32_MAX,           UINT32_MAX,           UINT32_MAX,
                UINT32_MAX,           UINT32_MAX,           UINT32_MAX,           UINT32_MAX,           UINT32_MAX,           UINT32_MAX,           UINT32_MAX,           UINT32_MAX,
                UINT32_MAX,           UINT32_MAX,           UINT32_MAX,           UINT32_MAX,           UINT32_MAX,           UINT32_MAX,           UINT32_MAX,           UINT32_MAX,
                UINT32_MAX,           UINT32_MAX,           UINT32_MAX,           UINT32_MAX, UINT32_C(4115003429),           UINT32_MAX,           UINT32_MAX,           UINT32_MAX,
                UINT32_MAX,           UINT32_MAX,           UINT32_MAX,           UINT32_MAX,           UINT32_MAX,           UINT32_MAX,           UINT32_MAX,           UINT32_MAX,
                UINT32_MAX,           UINT32_MAX,           UINT32_MAX,           UINT32_MAX,           UINT32_MAX,           UINT32_MAX,           UINT32_MAX,           UINT32_MAX,
                UINT32_MAX,           UINT32_MAX,           UINT32_MAX,           UINT32_MAX, UINT32_C(4188472671),           UINT32_MAX,           UINT32_MAX,           UINT32_MAX,
                UINT32_MAX,           UINT32_MAX,           UINT32_MAX,           UINT32_MAX,           UINT32_MAX,           UINT32_MAX,           UINT32_MAX,           UINT32_MAX,
                UINT32_MAX,           UINT32_MAX,           UINT32_MAX,           UINT32_MAX,           UINT32_MAX,           UINT32_MAX,           UINT32_MAX,           UINT32_MAX,
                UINT32_MAX,           UINT32_MAX,           UINT32_MAX,           UINT32_MAX,           UINT32_MAX,           UINT32_MAX,           UINT32_MAX,           UINT32_MAX,
                UINT32_MAX,           UINT32_MAX,           UINT32_MAX,           UINT32_MAX,           UINT32_MAX };

  static uint32_t r[sizeof(e) / sizeof(e[0])];
  static const int32_t len = HEDLEY_STATIC_CAST(int32_t, sizeof(e) / sizeof(e[0]));
  int32_t i = 0;
  simde_svbool_t pg = simde_svwhilelt_b32_s32(i, len);
  while (simde_svptest_first(simde_svptrue_b32(), pg)) {
    simde_svuint32_t
      rv,
      av = simde_svld1_u32(pg, &(a[i]));

    rv = simde_svqadd_n_u32(av, b);

    simde_svst1_u32(pg, &(r[i]), rv);

    i += simde_svcntw();
    pg = simde_svwhilelt_b32_s32(i, len);
  }

  simde_assert_equal_vu32(len, e, r);

  return 0;
#else
  uint32_t a[1024 / sizeof(int32_t)], b, e[1024 / sizeof(int32_t)];
  int32_t len = simde_test_arm_sve_random_length(sizeof(e), sizeof(e[0]));

  fputc('\n', stdout);

  simde_test_codegen_random_memory(sizeof(a), HEDLEY_REINTERPRET_CAST(uint8_t*, a));
  b = simde_test_codegen_random_u32();

  int32_t i = 0;
  simde_svbool_t pg = simde_svwhilelt_b32_s32(i, len);
  while (simde_svptest_first(simde_svptrue_b32(), pg)) {
    simde_svuint32_t av, ev;

    av = simde_svld1_u32(pg, &(a[i]));

    ev = simde_svqadd_n_u32(av, b);

    simde_svst1_u32(pg, &(e[i]), ev);

    i += simde_svcntw();
    pg = simde_svwhilelt_b32_s32(i, len);
  }

  simde_test_codegen_write_1vu32(1, HEDLEY_STATIC_CAST(size_t, len), a);
  simde_test_codegen_write_1u32(1, b);
  simde_test_codegen_write_1vu32(1, HEDLEY_STATIC_CAST(size_t, len), e);

  return 1;
#endif
}

static int
test_simde_svqadd_n_u64 (SIMDE_MUNIT_TEST_ARGS) {
#if 1
  static const uint64_t a[] =
    { UINT64_C(17501278882600856611), UINT64_C( 9691744544867369251), UINT64_C(17565028916636052828), UINT64_C( 1709523927352921913),
      UINT64_C( 6844619561352311454), UINT64_C(18235461513624199738), UINT64_C( 6664259975330832332), UINT64_C( 8291248779268809220),
      UINT64_C( 6573418317447243936), UINT64_C( 4952542838184614171), UINT64_C( 7356146630217444502), UINT64_C(15777076212366560171),
      UINT64_C(  365898682340831383), UINT64_C( 9710741494406707463), UINT64_C( 9471165502245081000), UINT64_C(15363174976526208801),
      UINT64_C(16020889195581925735), UINT64_C( 4184161342579349402), UINT64_C(14414814763479749040), UINT64_C( 7753042436483649156),
      UINT64_C( 7059130487737689665), UINT64_C( 2735372130314900520), UINT64_C( 8340588375705467471), UINT64_C( 8878511566815158982),
      UINT64_C( 3178848660646785781), UINT64_C( 6303311081823996639), UINT64_C(11851520241136707094), UINT64_C( 8333247547303702512),
      UINT64_C(11729147782033783190), UINT64_C(11580566127641013591), UINT64_C(  222679775471535509), UINT64_C(13961391023468742350),
      UINT64_C(10624591015997861644), UINT64_C( 7996046410073139662), UINT64_C( 9927334063438405038), UINT64_C(15162096875493323391),
      UINT64_C(12994316380699542917), UINT64_C(11512330882531477630), UINT64_C( 2226225857672816288), UINT64_C(15541696166273465111),
      UINT64_C(16542546511168885495), UINT64_C( 4811533948334874166), UINT64_C( 7089655697236698790), UINT64_C( 6082373378105092671),
      UINT64_C( 2777811603762053440), UINT64_C( 7946342916833527907), UINT64_C(12242778758795486778), UINT64_C( 6192909176326989376),
      UINT64_C( 5384486457211429795), UINT64_C( 6163060753429366353), UINT64_C(10489097184888896125), UINT64_C( 1248376078971358184),
      UINT64_C( 3131230828217258050), UINT64_C(15551998627278013283), UINT64_C( 6406457809566608646), UINT64_C( 8617822834830677530),
      UINT64_C(18301807111599832312), UINT64_C( 1444052449114145240), UINT64_C( 3585801088368625915), UINT64_C(13336655763561060457),
      UINT64_C(11683613735134147982), UINT64_C(16855811143473864650), UINT64_C( 1364616704903370407), UINT64_C( 9847901216769616175),
      UINT64_C( 9865087422456411515), UINT64_C( 4704655887172615028), UINT64_C(16527629769462750881), UINT64_C( 5628232706024607384),
      UINT64_C( 1511936929465355189), UINT64_C( 5121086069696453174), UINT64_C(11023104346590154846), UINT64_C(  224976910234144509),
      UINT64_C( 7189558296225166098), UINT64_C( 6537050710149905611), UINT64_C( 4029990737510550101), UINT64_C( 8252608137665190198),
      UINT64_C( 4137659540485570010), UINT64_C( 4070799840884989735), UINT64_C( 9952246356134194348), UINT64_C( 2839120772848297364),
      UINT64_C(11401313767560022930), UINT64_C(17533991394128094265), UINT64_C(17441023392694788908), UINT64_C( 4579682178738559003),
      UINT64_C(10515194125173636568), UINT64_C( 2059839306858409821), UINT64_C( 9239037213975277543), UINT64_C( 4732287503647120831),
      UINT64_C(13987474992297733172), UINT64_C(13202861753389927469), UINT64_C( 4346311726581208427), UINT64_C(16499875877319424336),
      UINT64_C( 3992596142250560321), UINT64_C( 3882258778209701465), UINT64_C( 6853168083163864162) };
  static const uint64_t b = UINT64_C(11721660977762247054);
  static const uint64_t e[] =
    {                     UINT64_MAX,                     UINT64_MAX,                     UINT64_MAX, UINT64_C(13431184905115168967),
                          UINT64_MAX,                     UINT64_MAX, UINT64_C(18385920953093079386),                     UINT64_MAX,
      UINT64_C(18295079295209490990), UINT64_C(16674203815946861225),                     UINT64_MAX,                     UINT64_MAX,
      UINT64_C(12087559660103078437),                     UINT64_MAX,                     UINT64_MAX,                     UINT64_MAX,
                          UINT64_MAX, UINT64_C(15905822320341596456),                     UINT64_MAX,                     UINT64_MAX,
                          UINT64_MAX, UINT64_C(14457033108077147574),                     UINT64_MAX,                     UINT64_MAX,
      UINT64_C(14900509638409032835), UINT64_C(18024972059586243693),                     UINT64_MAX,                     UINT64_MAX,
                          UINT64_MAX,                     UINT64_MAX, UINT64_C(11944340753233782563),                     UINT64_MAX,
                          UINT64_MAX,                     UINT64_MAX,                     UINT64_MAX,                     UINT64_MAX,
                          UINT64_MAX,                     UINT64_MAX, UINT64_C(13947886835435063342),                     UINT64_MAX,
                          UINT64_MAX, UINT64_C(16533194926097121220),                     UINT64_MAX, UINT64_C(17804034355867339725),
      UINT64_C(14499472581524300494),                     UINT64_MAX,                     UINT64_MAX, UINT64_C(17914570154089236430),
      UINT64_C(17106147434973676849), UINT64_C(17884721731191613407),                     UINT64_MAX, UINT64_C(12970037056733605238),
      UINT64_C(14852891805979505104),                     UINT64_MAX, UINT64_C(18128118787328855700),                     UINT64_MAX,
                          UINT64_MAX, UINT64_C(13165713426876392294), UINT64_C(15307462066130872969),                     UINT64_MAX,
                          UINT64_MAX,                     UINT64_MAX, UINT64_C(13086277682665617461),                     UINT64_MAX,
                          UINT64_MAX, UINT64_C(16426316864934862082),                     UINT64_MAX, UINT64_C(17349893683786854438),
      UINT64_C(13233597907227602243), UINT64_C(16842747047458700228),                     UINT64_MAX, UINT64_C(11946637887996391563),
                          UINT64_MAX, UINT64_C(18258711687912152665), UINT64_C(15751651715272797155),                     UINT64_MAX,
      UINT64_C(15859320518247817064), UINT64_C(15792460818647236789),                     UINT64_MAX, UINT64_C(14560781750610544418),
                          UINT64_MAX,                     UINT64_MAX,                     UINT64_MAX, UINT64_C(16301343156500806057),
                          UINT64_MAX, UINT64_C(13781500284620656875),                     UINT64_MAX, UINT64_C(16453948481409367885),
                          UINT64_MAX,                     UINT64_MAX, UINT64_C(16067972704343455481),                     UINT64_MAX,
      UINT64_C(15714257120012807375), UINT64_C(15603919755971948519),                     UINT64_MAX };

  static uint64_t r[sizeof(e) / sizeof(e[0])];
  static const int32_t len = HEDLEY_STATIC_CAST(int32_t, sizeof(e) / sizeof(e[0]));
  int32_t i = 0;
  simde_svbool_t pg = simde_svwhilelt_b64_s32(i, len);
  while (simde_svptest_first(simde_svptrue_b64(), pg)) {
    simde_svuint64_t
      rv,
      av = simde_svld1_u64(pg, &(a[i]));

    rv = simde_svqadd_n_u64(av, b);

    simde_svst1_u64(pg, &(r[i]), rv);

    i += simde_svcntd();
    pg = simde_svwhilelt_b64_s32(i, len);
  }

  simde_assert_equal_vu64(len, e, r);

  return 0;
#else
  uint64_t a[1024 / sizeof(int64_t)], b, e[1024 / sizeof(int64_t)];
  int32_t len = simde_test_arm_sve_random_length(sizeof(e), sizeof(e[0]));

  fputc('\n', stdout);

  simde_test_codegen_random_memory(sizeof(a), HEDLEY_REINTERPRET_CAST(uint8_t*, a));
  b = simde_test_codegen_random_u64();

  int32_t i = 0;
  simde_svbool_t pg = simde_svwhilelt_b64_s32(i, len);
  while (simde_svptest_first(simde_svptrue_b64(), pg)) {
    simde_svuint64_t av, ev;

    av = simde_svld1_u64(pg, &(a[i]));

    ev = simde_svqadd_n_u64(av, b);

    simde_svst1_u64(pg, &(e[i]), ev);

    i += simde_svcntd();
    pg = simde_svwhilelt_b64_s32(i, len);
  }

  simde_test_codegen_write_1vu64(1, HEDLEY_STATIC_CAST(size_t, len), a);
  simde_test_codegen_write_1u64(1, b);
  simde_test_codegen_write_1vu64(1, HEDLEY_STATIC_CAST(size_t, len), e);

  return 1;
#endif
}

SIMDE_TEST_FUNC_LIST_BEGIN
SIMDE_TEST_FUNC_LIST_ENTRY(svqadd_s8)
SIMDE_TEST_FUNC_LIST_ENTRY(svqadd_s16)
SIMDE_TEST_FUNC_LIST_ENTRY(svqadd_s32)
SIMDE_TEST_FUNC_LIST_ENTRY(svqadd_s64)
SIMDE_TEST_FUNC_LIST_ENTRY(svqadd_u8)
SIMDE_TEST_FUNC_LIST_ENTRY(svqadd_u16)
SIMDE_TEST_FUNC_LIST_ENTRY(svqadd_u32)
SIMDE_TEST_FUNC_LIST_ENTRY(svqadd_u64)

SIMDE_TEST_FUNC_LIST_ENTRY(svqadd_n_s8)
SIMDE_TEST_FUNC_LIST_ENTRY(svqadd_n_s16)
SIMDE_TEST_FUNC_LIST_ENTRY(svqadd_n_s32)
SIMDE_TEST_FUNC_LIST_ENTRY(svqadd_n_s64)
SIMDE_TEST_FUNC_LIST_ENTRY(svqadd_n_u8)
SIMDE_TEST_FUNC_LIST_ENTRY(svqadd_n_u16)
SIMDE_TEST_FUNC_LIST_ENTRY(svqadd_n_u32)
SIMDE_TEST_FUNC_LIST_ENTRY(svqadd_n_u64)
SIMDE_TEST_FUNC_LIST_END

#include "test-sve-footer.h"