text: #define SIMDE_TEST_ARM_NEON_INSN mla_n
  
  #include "test-neon.h"
  #include "../../../simde/arm/neon/mla_n.h"
  
  static int
  test_simde_vmla_n_f32 (SIMDE_MUNIT_TEST_ARGS) {
  #if 1
    static const struct {
      simde_float32 a[2];
      simde_float32 b[2];
      simde_float32 c;
      simde_float32 r[2];
    } test_vec[] = {
      { { SIMDE_FLOAT32_C(  -680.78), SIMDE_FLOAT32_C(  -597.80) },
        { SIMDE_FLOAT32_C(   774.13), SIMDE_FLOAT32_C(  -444.02) },
        SIMDE_FLOAT32_C(  -818.28),
        { SIMDE_FLOAT32_C(-634135.88), SIMDE_FLOAT32_C(362734.88) } },
      { { SIMDE_FLOAT32_C(  -946.16), SIMDE_FLOAT32_C(   309.30) },
        { SIMDE_FLOAT32_C(  -303.37), SIMDE_FLOAT32_C(  -304.24) },
        SIMDE_FLOAT32_C(  -769.24),
        { SIMDE_FLOAT32_C(232418.17), SIMDE_FLOAT32_C(234342.86) } },
      { { SIMDE_FLOAT32_C(  -293.93), SIMDE_FLOAT32_C(   460.64) },
        { SIMDE_FLOAT32_C(  -114.31), SIMDE_FLOAT32_C(   164.95) },
        SIMDE_FLOAT32_C(   732.21),
        { SIMDE_FLOAT32_C(-83992.86), SIMDE_FLOAT32_C(121238.68) } },
      { { SIMDE_FLOAT32_C(  -513.27), SIMDE_FLOAT32_C(  -298.77) },
        { SIMDE_FLOAT32_C(    31.87), SIMDE_FLOAT32_C(   -63.24) },
        SIMDE_FLOAT32_C(   777.71),
        { SIMDE_FLOAT32_C( 24272.35), SIMDE_FLOAT32_C(-49481.15) } },
      { { SIMDE_FLOAT32_C(   -30.10), SIMDE_FLOAT32_C(  -408.99) },
        { SIMDE_FLOAT32_C(  -446.43), SIMDE_FLOAT32_C(   878.35) },
        SIMDE_FLOAT32_C(   581.74),
        { SIMDE_FLOAT32_C(-259736.27), SIMDE_FLOAT32_C(510562.31) } },
      { { SIMDE_FLOAT32_C(   861.55), SIMDE_FLOAT32_C(  -880.45) },
        { SIMDE_FLOAT32_C(  -856.08), SIMDE_FLOAT32_C(  -537.88) },
        SIMDE_FLOAT32_C(   393.17),
        { SIMDE_FLOAT32_C(-335723.44), SIMDE_FLOAT32_C(-212358.73) } },
      { { SIMDE_FLOAT32_C(   174.89), SIMDE_FLOAT32_C(  -218.67) },
        { SIMDE_FLOAT32_C(   795.36), SIMDE_FLOAT32_C(   -50.98) },
        SIMDE_FLOAT32_C(   337.31),
        { SIMDE_FLOAT32_C(268457.75), SIMDE_FLOAT32_C(-17414.73) } },
      { { SIMDE_FLOAT32_C(   977.08), SIMDE_FLOAT32_C(     2.85) },
        { SIMDE_FLOAT32_C(  -353.39), SIMDE_FLOAT32_C(  -326.28) },
        SIMDE_FLOAT32_C(   698.61),
        { SIMDE_FLOAT32_C(-245904.72), SIMDE_FLOAT32_C(-227939.62) } },
  
    };
  
    for (size_t i = 0 ; i < (sizeof(test_vec) / sizeof(test_vec[0])) ; i++) {
      simde_float32x2_t a = simde_vld1_f32(test_vec[i].a);
      simde_float32x2_t b = simde_vld1_f32(test_vec[i].b);
      simde_float32 c = test_vec[i].c;
      simde_float32x2_t r = simde_vmla_n_f32(a, b, c);
  
      simde_test_arm_neon_assert_equal_f32x2(r, simde_vld1_f32(test_vec[i].r), 1);
    }
  
    return 0;
  #else
    fputc('\n', stdout);
    for (int i = 0 ; i < 8 ; i++) {
      simde_float32x2_t a = simde_test_arm_neon_random_f32x2(-1000.0f, 1000.0f);
      simde_float32x2_t b = simde_test_arm_neon_random_f32x2(-1000.0f, 1000.0f);
      simde_float32 c = simde_test_codegen_random_f32(-1000.0f, 1000.0f);
      simde_float32x2_t r = simde_vmla_n_f32(a, b, c);
  
      simde_test_arm_neon_write_f32x2(2, a, SIMDE_TEST_VEC_POS_FIRST);
      simde_test_arm_neon_write_f32x2(2, b, SIMDE_TEST_VEC_POS_MIDDLE);
      simde_test_codegen_write_f32(2, c, SIMDE_TEST_VEC_POS_MIDDLE);
      simde_test_arm_neon_write_f32x2(2, r, SIMDE_TEST_VEC_POS_LAST);
    }
    return 1;
  #endif
  }
  
  static int
  test_simde_vmla_n_s16 (SIMDE_MUNIT_TEST_ARGS) {
  #if 1
    static const struct {
      int16_t a[4];
      int16_t b[4];
      int16_t c;
      int16_t r[4];
    } test_vec[] = {
      { { -INT16_C( 13008), -INT16_C(  2885),  INT16_C( 19861), -INT16_C( 19732) },
        {  INT16_C( 11119), -INT16_C( 14555),  INT16_C( 25759), -INT16_C(  6163) },
         INT16_C( 28428),
        { -INT16_C(  2204),  INT16_C( 21879), -INT16_C(  2551),  INT16_C( 21768) } },
      { {  INT16_C(  7463),  INT16_C( 31302), -INT16_C( 21059), -INT16_C( 30252) },
        {  INT16_C(  4259), -INT16_C( 12863), -INT16_C(  3762),  INT16_C(  2458) },
         INT16_C( 12262),
        { -INT16_C(   871), -INT16_C( 15188), -INT16_C( 13359),  INT16_C( 28720) } },
      { { -INT16_C( 11689), -INT16_C( 14623),  INT16_C(  1789), -INT16_C( 25459) },
        {  INT16_C( 31594),  INT16_C( 30595), -INT16_C( 21782),  INT16_C( 12436) },
         INT16_C( 20772),
        { -INT16_C( 18625),  INT16_C(  2125),  INT16_C(  6629),  INT16_C( 17757) } },
      { { -INT16_C(  1826), -INT16_C( 32294), -INT16_C( 25591),  INT16_C( 22350) },
        { -INT16_C(  6003),  INT16_C( 29536), -INT16_C( 18665), -INT16_C(  1979) },
         INT16_C( 17277),
        {  INT16_C( 27831), -INT16_C(  2118),  INT16_C(  1860), -INT16_C( 24577) } },
      { {  INT16_C(  3070),  INT16_C( 27103),  INT16_C( 25478),  INT16_C( 28896) },
        {  INT16_C( 29709),  INT16_C( 12960),  INT16_C( 32454), -INT16_C( 24534) },
         INT16_C( 13311),
        {  INT16_C( 15345), -INT16_C( 18625),  INT16_C(  7360),  INT16_C( 22710) } },
      { {  INT16_C( 19772), -INT16_C( 13686), -INT16_C(  5323),  INT16_C( 19517) },
        { -INT16_C( 31838),  INT16_C(  8260),  INT16_C( 17350), -INT16_C( 23253) },
        -INT16_C( 20052),
        { -INT16_C( 16364),  INT16_C( 31802),  INT16_C( 23101),  INT16_C(    33) } },
      { { -INT16_C( 29688),  INT16_C(  5665), -INT16_C( 16128), -INT16_C( 14776) },
        {  INT16_C( 29248),  INT16_C( 16231), -INT16_C( 23642),  INT16_C( 12429) },
        -INT16_C( 15763),
        { -INT16_C( 20152),  INT16_C(  8956),  INT16_C( 15022),  INT16_C( 19537) } },
      { { -INT16_C( 21733), -INT16_C( 16881),  INT16_C( 21294), -INT16_C(  2850) },
        {  INT16_C(  2454),  INT16_C( 17049), -INT16_C( 23878), -INT16_C(  9266) },
        -INT16_C( 12360),
        { -INT16_C( 10005),  INT16_C( 21255), -INT16_C( 20770), -INT16_C( 32018) } },
  
    };
  
    for (size_t i = 0 ; i < (sizeof(test_vec) / sizeof(test_vec[0])) ; i++) {
      simde_int16x4_t a = simde_vld1_s16(test_vec[i].a);
      simde_int16x4_t b = simde_vld1_s16(test_vec[i].b);
      int16_t c = test_vec[i].c;
      simde_int16x4_t r = simde_vmla_n_s16(a, b, c);
  
      simde_test_arm_neon_assert_equal_i16x4(r, simde_vld1_s16(test_vec[i].r));
    }
  
    return 0;
  #else
    fputc('\n', stdout);
    for (int i = 0 ; i < 8 ; i++) {
      simde_int16x4_t a = simde_test_arm_neon_random_i16x4();
      simde_int16x4_t b = simde_test_arm_neon_random_i16x4();
      int16_t c = simde_test_codegen_random_i16();
      simde_int16x4_t r = simde_vmla_n_s16(a, b, c);
  
      simde_test_arm_neon_write_i16x4(2, a, SIMDE_TEST_VEC_POS_FIRST);
      simde_test_arm_neon_write_i16x4(2, b, SIMDE_TEST_VEC_POS_MIDDLE);
      simde_test_codegen_write_i16(2, c, SIMDE_TEST_VEC_POS_MIDDLE);
      simde_test_arm_neon_write_i16x4(2, r, SIMDE_TEST_VEC_POS_LAST);
    }
    return 1;
  #endif
  }
  
  static int
  test_simde_vmla_n_s32 (SIMDE_MUNIT_TEST_ARGS) {
  #if 1
    static const struct {
      int32_t a[2];
      int32_t b[2];
      int32_t c;
      int32_t r[2];
    } test_vec[] = {
      { {  INT32_C(   888615576), -INT32_C(  1946370236) },
        {  INT32_C(   491560011), -INT32_C(  1001757691) },
         INT32_C(   554369550),
        { -INT32_C(   895920974), -INT32_C(   837992054) } },
      { {  INT32_C(  1129433576),  INT32_C(   377974658) },
        {  INT32_C(   352551805), -INT32_C(    95749450) },
         INT32_C(    75843257),
        { -INT32_C(  1396638403), -INT32_C(  1882038008) } },
      { { -INT32_C(   400436766),  INT32_C(  1152150326) },
        {  INT32_C(  1449572206),  INT32_C(    43628416) },
        -INT32_C(  1558699994),
        { -INT32_C(   828453834), -INT32_C(  1838307274) } },
      { {  INT32_C(  1522080676), -INT32_C(   833354987) },
        {  INT32_C(   752015689), -INT32_C(   518720597) },
        -INT32_C(   853163937),
        { -INT32_C(    59015749),  INT32_C(   848408458) } },
      { { -INT32_C(   131888264),  INT32_C(  1778105410) },
        { -INT32_C(  2129914915),  INT32_C(  1155253551) },
         INT32_C(   303247304),
        {  INT32_C(    77570848),  INT32_C(  2136893946) } },
      { { -INT32_C(  1287723768),  INT32_C(   949244633) },
        { -INT32_C(  1979336174), -INT32_C(  2004670395) },
        -INT32_C(  1041137948),
        {  INT32_C(   786397456),  INT32_C(  1227564621) } },
      { { -INT32_C(  1069351535), -INT32_C(  1962598973) },
        {  INT32_C(  1436358732), -INT32_C(   704062467) },
         INT32_C(  1074699565),
        {  INT32_C(  2028920557), -INT32_C(   514592196) } },
      { { -INT32_C(  1664478377),  INT32_C(   539249979) },
        {  INT32_C(  1575032267), -INT32_C(   702733293) },
        -INT32_C(  1906236863),
        {  INT32_C(   868258274), -INT32_C(  1853359090) } },
  
    };
  
    for (size_t i = 0 ; i < (sizeof(test_vec) / sizeof(test_vec[0])) ; i++) {
      simde_int32x2_t a = simde_vld1_s32(test_vec[i].a);
      simde_int32x2_t b = simde_vld1_s32(test_vec[i].b);
      int32_t c = test_vec[i].c;
      simde_int32x2_t r = simde_vmla_n_s32(a, b, c);
  
      simde_test_arm_neon_assert_equal_i32x2(r, simde_vld1_s32(test_vec[i].r));
    }
  
    return 0;
  #else
    fputc('\n', stdout);
    for (int i = 0 ; i < 8 ; i++) {
      simde_int32x2_t a = simde_test_arm_neon_random_i32x2();
      simde_int32x2_t b = simde_test_arm_neon_random_i32x2();
      int32_t c = simde_test_codegen_random_i32();
      simde_int32x2_t r = simde_vmla_n_s32(a, b, c);
  
      simde_test_arm_neon_write_i32x2(2, a, SIMDE_TEST_VEC_POS_FIRST);
      simde_test_arm_neon_write_i32x2(2, b, SIMDE_TEST_VEC_POS_MIDDLE);
      simde_test_codegen_write_i32(2, c, SIMDE_TEST_VEC_POS_MIDDLE);
      simde_test_arm_neon_write_i32x2(2, r, SIMDE_TEST_VEC_POS_LAST);
    }
    return 1;
  #endif
  }
  
  static int
  test_simde_vmla_n_u16 (SIMDE_MUNIT_TEST_ARGS) {
  #if 1
    static const struct {
      uint16_t a[4];
      uint16_t b[4];
      uint16_t c;
      uint16_t r[4];
    } test_vec[] = {
      { { UINT16_C( 2400), UINT16_C(15509), UINT16_C( 4372), UINT16_C(40051) },
        { UINT16_C(61882), UINT16_C(59067), UINT16_C(47693), UINT16_C(62182) },
        UINT16_C(35322),
        { UINT16_C(41732), UINT16_C(41523), UINT16_C(13638), UINT16_C(59151) } },
      { { UINT16_C(16620), UINT16_C(40433), UINT16_C(62418), UINT16_C( 5903) },
        { UINT16_C(46428), UINT16_C( 4731), UINT16_C(56078), UINT16_C(42011) },
        UINT16_C(12055),
        { UINT16_C(28720), UINT16_C(56318), UINT16_C(13332), UINT16_C(51836) } },
      { { UINT16_C(35509), UINT16_C(28875), UINT16_C(34684), UINT16_C(51542) },
        { UINT16_C(15681), UINT16_C(15292), UINT16_C(43206), UINT16_C(46971) },
        UINT16_C(19781),
        { UINT16_C(39482), UINT16_C( 5751), UINT16_C(37594), UINT16_C(15485) } },
      { { UINT16_C(21675), UINT16_C( 1892), UINT16_C(57098), UINT16_C( 6169) },
        { UINT16_C(13499), UINT16_C(53948), UINT16_C(29284), UINT16_C(12125) },
        UINT16_C(55778),
        { UINT16_C(25793), UINT16_C(27996), UINT16_C(40786), UINT16_C(48435) } },
      { { UINT16_C(14518), UINT16_C(63394), UINT16_C(24181), UINT16_C(15411) },
        { UINT16_C(44550), UINT16_C(19699), UINT16_C(40700), UINT16_C(24736) },
        UINT16_C(43685),
        { UINT16_C(24212), UINT16_C(60993), UINT16_C(12001), UINT16_C(50003) } },
      { { UINT16_C(48704), UINT16_C(64451), UINT16_C(32755), UINT16_C(22477) },
        { UINT16_C(10993), UINT16_C(54150), UINT16_C(15619), UINT16_C(42508) },
        UINT16_C(33076),
        { UINT16_C(59444), UINT16_C(30971), UINT16_C(26511), UINT16_C( 7741) } },
      { { UINT16_C(26372), UINT16_C( 3005), UINT16_C(45334), UINT16_C( 4695) },
        { UINT16_C(63311), UINT16_C(62834), UINT16_C(45730), UINT16_C(26035) },
        UINT16_C(42669),
        { UINT16_C(49511), UINT16_C(54727), UINT16_C(29840), UINT16_C(56910) } },
      { { UINT16_C(31716), UINT16_C(55037), UINT16_C(33957), UINT16_C(43433) },
        { UINT16_C(46529), UINT16_C(62799), UINT16_C(21303), UINT16_C(62557) },
        UINT16_C(29534),
        { UINT16_C(60354), UINT16_C(26367), UINT16_C(51159), UINT16_C(10959) } },
  
    };
  
    for (size_t i = 0 ; i < (sizeof(test_vec) / sizeof(test_vec[0])) ; i++) {
      simde_uint16x4_t a = simde_vld1_u16(test_vec[i].a);
      simde_uint16x4_t b = simde_vld1_u16(test_vec[i].b);
      uint16_t c = test_vec[i].c;
      simde_uint16x4_t r = simde_vmla_n_u16(a, b, c);
      simde_test_arm_neon_assert_equal_u16x4(r, simde_vld1_u16(test_vec[i].r));
    }
  
    return 0;
  #else
    fputc('\n', stdout);
    for (int i = 0 ; i < 8 ; i++) {
      simde_uint16x4_t a = simde_test_arm_neon_random_u16x4();
      simde_uint16x4_t b = simde_test_arm_neon_random_u16x4();
      uint16_t c = simde_test_codegen_random_u16();
      simde_uint16x4_t r = simde_vmla_n_u16(a, b, c);
  
      simde_test_arm_neon_write_u16x4(2, a, SIMDE_TEST_VEC_POS_FIRST);
      simde_test_arm_neon_write_u16x4(2, b, SIMDE_TEST_VEC_POS_MIDDLE);
      simde_test_codegen_write_u16(2, c, SIMDE_TEST_VEC_POS_MIDDLE);
      simde_test_arm_neon_write_u16x4(2, r, SIMDE_TEST_VEC_POS_LAST);
    }
    return 1;
  #endif
  }
  
  static int
  test_simde_vmla_n_u32 (SIMDE_MUNIT_TEST_ARGS) {
  #if 1
    static const struct {
      uint32_t a[2];
      uint32_t b[2];
      uint32_t c;
      uint32_t r[2];
    } test_vec[] = {
      { { UINT32_C(2305842287), UINT32_C(1514417662) },
        { UINT32_C(3213067177), UINT32_C(3633736064) },
        UINT32_C( 679518645),
        { UINT32_C(3820600300), UINT32_C(3572909438) } },
      { { UINT32_C(2905213946), UINT32_C(4090384713) },
        { UINT32_C(1057534927), UINT32_C( 248018959) },
        UINT32_C(1332219045),
        { UINT32_C(2739643493), UINT32_C(1203529460) } },
      { { UINT32_C( 269413519), UINT32_C( 183018581) },
        { UINT32_C(1060333637), UINT32_C(3169607027) },
        UINT32_C(2125446062),
        { UINT32_C(3478467189), UINT32_C(2540710271) } },
      { { UINT32_C(2109585262), UINT32_C(3582690608) },
        { UINT32_C( 556070033), UINT32_C( 892416736) },
        UINT32_C( 473962967),
        { UINT32_C(4025042485), UINT32_C(2278891344) } },
      { { UINT32_C(4099699585), UINT32_C(2125482192) },
        { UINT32_C(1912364803), UINT32_C(1206892823) },
        UINT32_C(3491527230),
        { UINT32_C(2836849723), UINT32_C( 393744994) } },
      { { UINT32_C(1324433774), UINT32_C(1250173555) },
        { UINT32_C(3160917051), UINT32_C( 129024823) },
        UINT32_C( 260399115),
        { UINT32_C(3097743351), UINT32_C(2363762128) } },
      { { UINT32_C(3598746303), UINT32_C(2048749371) },
        { UINT32_C(1481259754), UINT32_C(4003937147) },
        UINT32_C(2553883485),
        { UINT32_C(1870084033), UINT32_C(2319365098) } },
      { { UINT32_C( 643080431), UINT32_C(1848444003) },
        { UINT32_C( 595440228), UINT32_C(1895497268) },
        UINT32_C(1474959213),
        { UINT32_C(2571669891), UINT32_C( 493481095) } },
  
    };
  
    for (size_t i = 0 ; i < (sizeof(test_vec) / sizeof(test_vec[0])) ; i++) {
      simde_uint32x2_t a = simde_vld1_u32(test_vec[i].a);
      simde_uint32x2_t b = simde_vld1_u32(test_vec[i].b);
      uint32_t c = test_vec[i].c;
      simde_uint32x2_t r = simde_vmla_n_u32(a, b, c);
      simde_test_arm_neon_assert_equal_u32x2(r, simde_vld1_u32(test_vec[i].r));
    }
  
    return 0;
  #else
    fputc('\n', stdout);
    for (int i = 0 ; i < 8 ; i++) {
      simde_uint32x2_t a = simde_test_arm_neon_random_u32x2();
      simde_uint32x2_t b = simde_test_arm_neon_random_u32x2();
      uint32_t c = simde_test_codegen_random_u32();
      simde_uint32x2_t r = simde_vmla_n_u32(a, b, c);
  
      simde_test_arm_neon_write_u32x2(2, a, SIMDE_TEST_VEC_POS_FIRST);
      simde_test_arm_neon_write_u32x2(2, b, SIMDE_TEST_VEC_POS_MIDDLE);
      simde_test_codegen_write_u32(2, c, SIMDE_TEST_VEC_POS_MIDDLE);
      simde_test_arm_neon_write_u32x2(2, r, SIMDE_TEST_VEC_POS_LAST);
    }
    return 1;
  #endif
  }
  
  static int
  test_simde_vmlaq_n_f32 (SIMDE_MUNIT_TEST_ARGS) {
  #if 1
    static const struct {
      simde_float32 a[4];
      simde_float32 b[4];
      simde_float32 c;
      simde_float32 r[4];
    } test_vec[] = {
      { { SIMDE_FLOAT32_C(  -565.27), SIMDE_FLOAT32_C(  -578.48), SIMDE_FLOAT32_C(   923.27), SIMDE_FLOAT32_C(  -735.63) },
        { SIMDE_FLOAT32_C(  -721.39), SIMDE_FLOAT32_C(   999.71), SIMDE_FLOAT32_C(  -670.81), SIMDE_FLOAT32_C(  -721.24) },
        SIMDE_FLOAT32_C(   987.68),
        { SIMDE_FLOAT32_C(-713067.75), SIMDE_FLOAT32_C(986815.06), SIMDE_FLOAT32_C(-661622.38), SIMDE_FLOAT32_C(-713089.94) } },
      { { SIMDE_FLOAT32_C(  -575.56), SIMDE_FLOAT32_C(   755.06), SIMDE_FLOAT32_C(  -177.83), SIMDE_FLOAT32_C(  -498.94) },
        { SIMDE_FLOAT32_C(  -117.24), SIMDE_FLOAT32_C(   -43.95), SIMDE_FLOAT32_C(   115.50), SIMDE_FLOAT32_C(   776.41) },
        SIMDE_FLOAT32_C(  -808.82),
        { SIMDE_FLOAT32_C( 94250.49), SIMDE_FLOAT32_C( 36302.70), SIMDE_FLOAT32_C(-93596.54), SIMDE_FLOAT32_C(-628474.88) } },
      { { SIMDE_FLOAT32_C(   -35.98), SIMDE_FLOAT32_C(   -41.82), SIMDE_FLOAT32_C(   249.53), SIMDE_FLOAT32_C(  -482.80) },
        { SIMDE_FLOAT32_C(   691.32), SIMDE_FLOAT32_C(   488.86), SIMDE_FLOAT32_C(   795.66), SIMDE_FLOAT32_C(   785.88) },
        SIMDE_FLOAT32_C(    36.60),
        { SIMDE_FLOAT32_C( 25266.33), SIMDE_FLOAT32_C( 17850.46), SIMDE_FLOAT32_C( 29370.68), SIMDE_FLOAT32_C( 28280.41) } },
      { { SIMDE_FLOAT32_C(   325.74), SIMDE_FLOAT32_C(  -867.74), SIMDE_FLOAT32_C(  -719.43), SIMDE_FLOAT32_C(   295.15) },
        { SIMDE_FLOAT32_C(  -433.01), SIMDE_FLOAT32_C(  -297.91), SIMDE_FLOAT32_C(   218.42), SIMDE_FLOAT32_C(  -168.64) },
        SIMDE_FLOAT32_C(   -19.30),
        { SIMDE_FLOAT32_C(  8682.83), SIMDE_FLOAT32_C(  4881.92), SIMDE_FLOAT32_C( -4934.94), SIMDE_FLOAT32_C(  3549.90) } },
      { { SIMDE_FLOAT32_C(   218.13), SIMDE_FLOAT32_C(   160.55), SIMDE_FLOAT32_C(   259.47), SIMDE_FLOAT32_C(   205.82) },
        { SIMDE_FLOAT32_C(   585.00), SIMDE_FLOAT32_C(    14.53), SIMDE_FLOAT32_C(  -972.01), SIMDE_FLOAT32_C(  -913.95) },
        SIMDE_FLOAT32_C(   897.29),
        { SIMDE_FLOAT32_C(525132.75), SIMDE_FLOAT32_C( 13198.17), SIMDE_FLOAT32_C(-871915.31), SIMDE_FLOAT32_C(-819872.38) } },
      { { SIMDE_FLOAT32_C(   -15.96), SIMDE_FLOAT32_C(   201.56), SIMDE_FLOAT32_C(   673.70), SIMDE_FLOAT32_C(   175.22) },
        { SIMDE_FLOAT32_C(  -834.43), SIMDE_FLOAT32_C(  -368.13), SIMDE_FLOAT32_C(  -575.24), SIMDE_FLOAT32_C(  -317.23) },
        SIMDE_FLOAT32_C(  -676.81),
        { SIMDE_FLOAT32_C(564734.62), SIMDE_FLOAT32_C(249355.62), SIMDE_FLOAT32_C(390001.88), SIMDE_FLOAT32_C(214879.66) } },
      { { SIMDE_FLOAT32_C(   913.62), SIMDE_FLOAT32_C(  -521.58), SIMDE_FLOAT32_C(  -890.93), SIMDE_FLOAT32_C(   -49.78) },
        { SIMDE_FLOAT32_C(   804.17), SIMDE_FLOAT32_C(  -758.67), SIMDE_FLOAT32_C(   230.79), SIMDE_FLOAT32_C(    99.32) },
        SIMDE_FLOAT32_C(  -191.67),
        { SIMDE_FLOAT32_C(-153221.64), SIMDE_FLOAT32_C(144892.70), SIMDE_FLOAT32_C(-45126.45), SIMDE_FLOAT32_C(-19086.44) } },
      { { SIMDE_FLOAT32_C(   932.88), SIMDE_FLOAT32_C(  -682.26), SIMDE_FLOAT32_C(   639.69), SIMDE_FLOAT32_C(   -86.42) },
        { SIMDE_FLOAT32_C(   535.88), SIMDE_FLOAT32_C(  -199.76), SIMDE_FLOAT32_C(  -826.95), SIMDE_FLOAT32_C(  -258.30) },
        SIMDE_FLOAT32_C(  -614.76),
        { SIMDE_FLOAT32_C(-328504.72), SIMDE_FLOAT32_C(122122.20), SIMDE_FLOAT32_C(509015.50), SIMDE_FLOAT32_C(158706.08) } },
  
    };
  
    for (size_t i = 0 ; i < (sizeof(test_vec) / sizeof(test_vec[0])) ; i++) {
      simde_float32x4_t a = simde_vld1q_f32(test_vec[i].a);
      simde_float32x4_t b = simde_vld1q_f32(test_vec[i].b);
      simde_float32 c = test_vec[i].c;
      simde_float32x4_t r = simde_vmlaq_n_f32(a, b, c);
      simde_test_arm_neon_assert_equal_f32x4(r, simde_vld1q_f32(test_vec[i].r), 1);
    }
  
    return 0;
  #else
    fputc('\n', stdout);
    for (int i = 0 ; i < 8 ; i++) {
      simde_float32x4_t a = simde_test_arm_neon_random_f32x4(-1000.0f, 1000.0f);
      simde_float32x4_t b = simde_test_arm_neon_random_f32x4(-1000.0f, 1000.0f);
      simde_float32 c = simde_test_codegen_random_f32(-1000.0f, 1000.0f);
      simde_float32x4_t r = simde_vmlaq_n_f32(a, b, c);
  
      simde_test_arm_neon_write_f32x4(2, a, SIMDE_TEST_VEC_POS_FIRST);
      simde_test_arm_neon_write_f32x4(2, b, SIMDE_TEST_VEC_POS_MIDDLE);
      simde_test_codegen_write_f32(2, c, SIMDE_TEST_VEC_POS_MIDDLE);
      simde_test_arm_neon_write_f32x4(2, r, SIMDE_TEST_VEC_POS_LAST);
    }
    return 1;
  #endif
  }
  
  static int
  test_simde_vmlaq_n_s16 (SIMDE_MUNIT_TEST_ARGS) {
  #if 1
    static const struct {
      int16_t a[8];
      int16_t b[8];
      int16_t c;
      int16_t r[8];
    } test_vec[] = {
      { { -INT16_C( 29756), -INT16_C( 21306),  INT16_C( 18193), -INT16_C( 21743),  INT16_C( 15788),  INT16_C( 22404),  INT16_C( 28557), -INT16_C( 29072) },
        {  INT16_C( 13465), -INT16_C(  9565),  INT16_C( 29280),  INT16_C(  7895), -INT16_C( 31066),  INT16_C( 32613), -INT16_C( 30322),  INT16_C( 21186) },
        -INT16_C( 30700),
        { -INT16_C(  4168),  INT16_C( 22914),  INT16_C( 13969),  INT16_C( 19421), -INT16_C(  3420), -INT16_C(  3224), -INT16_C( 24923),  INT16_C(  5528) } },
      { {  INT16_C(  9983),  INT16_C(  4304),  INT16_C( 31953),  INT16_C( 21837), -INT16_C(  9517),  INT16_C( 17349),  INT16_C( 24168),  INT16_C(  3191) },
        { -INT16_C( 10440),  INT16_C(  4222),  INT16_C(  9718),  INT16_C( 23446),  INT16_C(  9380),  INT16_C( 26340), -INT16_C(  1673),  INT16_C( 30447) },
        -INT16_C( 16609),
        { -INT16_C(   313),  INT16_C(  4626), -INT16_C( 24677),  INT16_C( 22135), -INT16_C( 22865), -INT16_C( 10911),  INT16_C( 23761), -INT16_C( 15256) } },
      { { -INT16_C(  3962), -INT16_C( 11205),  INT16_C(  3654),  INT16_C(  2990),  INT16_C(  5970), -INT16_C( 13975), -INT16_C( 24029), -INT16_C( 24159) },
        { -INT16_C( 26702),  INT16_C( 18630),  INT16_C( 27378), -INT16_C( 10387), -INT16_C(  6959), -INT16_C( 16176), -INT16_C(  4262), -INT16_C(  8065) },
        -INT16_C( 17697),
        {  INT16_C( 26772),  INT16_C(  5301),  INT16_C(  2836), -INT16_C(  6751),  INT16_C( 17249), -INT16_C(  8551), -INT16_C( 31351),  INT16_C( 30274) } },
      { {  INT16_C(  9652),  INT16_C( 25544),  INT16_C(  6704), -INT16_C( 25990), -INT16_C( 25116), -INT16_C( 31428), -INT16_C(  4546),  INT16_C(  1308) },
        {  INT16_C(  3638), -INT16_C( 23697),  INT16_C( 16613), -INT16_C( 19065), -INT16_C(  7936),  INT16_C( 32676), -INT16_C( 31550),  INT16_C( 30265) },
         INT16_C(   681),
        { -INT16_C(  3238),  INT16_C(  9743), -INT16_C( 17571),  INT16_C( 32409),  INT16_C(  9956),  INT16_C(  4224),  INT16_C(  5712), -INT16_C( 32067) } },
      { { -INT16_C(  9511),  INT16_C( 21276),  INT16_C(   116), -INT16_C( 20240),  INT16_C( 12165), -INT16_C( 24162), -INT16_C( 11212), -INT16_C( 23632) },
        { -INT16_C( 27272), -INT16_C(    28), -INT16_C(  7093), -INT16_C(  4127), -INT16_C( 23708), -INT16_C( 25229),  INT16_C(  7449), -INT16_C(  3169) },
        -INT16_C( 17161),
        {  INT16_C( 12705), -INT16_C( 22504),  INT16_C( 22737),  INT16_C( 24327),  INT16_C( 17665), -INT16_C(   109),  INT16_C( 17235),  INT16_C( 30233) } },
      { {  INT16_C( 27462),  INT16_C( 14268),  INT16_C( 16923), -INT16_C( 18074), -INT16_C( 25885), -INT16_C( 27763),  INT16_C(  1341),  INT16_C(  8489) },
        {  INT16_C( 29701), -INT16_C(  6650),  INT16_C( 27235), -INT16_C( 10359), -INT16_C( 24057), -INT16_C( 22540), -INT16_C(  5227), -INT16_C(  9117) },
         INT16_C(  8022),
        { -INT16_C(    12),  INT16_C( 14272), -INT16_C(   931), -INT16_C( 18324), -INT16_C(  7619), -INT16_C( 29819),  INT16_C( 13387),  INT16_C( 10091) } },
      { {  INT16_C( 28947),  INT16_C( 31073),  INT16_C( 17706), -INT16_C( 18669),  INT16_C( 20696),  INT16_C(   445), -INT16_C( 15758),  INT16_C( 30837) },
        { -INT16_C(  9816),  INT16_C( 12770), -INT16_C(  5712), -INT16_C( 23341),  INT16_C( 27024), -INT16_C(  3185), -INT16_C(  6843),  INT16_C( 22547) },
         INT16_C( 29782),
        { -INT16_C( 20605), -INT16_C( 23731), -INT16_C( 31158), -INT16_C( 19979),  INT16_C(  1848), -INT16_C( 24633),  INT16_C(  2976), -INT16_C( 21801) } },
      { { -INT16_C( 32559), -INT16_C(  6983), -INT16_C( 28105), -INT16_C(  3020), -INT16_C( 22893),  INT16_C(  2486),  INT16_C( 24094),  INT16_C(   226) },
        { -INT16_C( 28017),  INT16_C( 25578),  INT16_C( 31286), -INT16_C( 14900),  INT16_C(  4462), -INT16_C( 32342),  INT16_C(   105),  INT16_C( 15093) },
        -INT16_C( 20608),
        { -INT16_C( 30383), -INT16_C( 12359), -INT16_C( 26825),  INT16_C( 20020), -INT16_C( 28781),  INT16_C(  5302),  INT16_C( 22942), -INT16_C(  2462) } },
  
    };
  
    for (size_t i = 0 ; i < (sizeof(test_vec) / sizeof(test_vec[0])) ; i++) {
      simde_int16x8_t a = simde_vld1q_s16(test_vec[i].a);
      simde_int16x8_t b = simde_vld1q_s16(test_vec[i].b);
      int16_t c = test_vec[i].c;
      simde_int16x8_t r = simde_vmlaq_n_s16(a, b, c);
  
      simde_test_arm_neon_assert_equal_i16x8(r, simde_vld1q_s16(test_vec[i].r));
    }
  
    return 0;
  #else
    fputc('\n', stdout);
    for (int i = 0 ; i < 8 ; i++) {
      simde_int16x8_t a = simde_test_arm_neon_random_i16x8();
      simde_int16x8_t b = simde_test_arm_neon_random_i16x8();
      int16_t c = simde_test_codegen_random_i16();
      simde_int16x8_t r = simde_vmlaq_n_s16(a, b, c);
  
      simde_test_arm_neon_write_i16x8(2, a, SIMDE_TEST_VEC_POS_FIRST);
      simde_test_arm_neon_write_i16x8(2, b, SIMDE_TEST_VEC_POS_MIDDLE);
      simde_test_codegen_write_i16(2, c, SIMDE_TEST_VEC_POS_MIDDLE);
      simde_test_arm_neon_write_i16x8(2, r, SIMDE_TEST_VEC_POS_LAST);
    }
    return 1;
  #endif
  }
  
  static int
  test_simde_vmlaq_n_s32 (SIMDE_MUNIT_TEST_ARGS) {
  #if 1
    static const struct {
      int32_t a[4];
      int32_t b[4];
      int32_t c;
      int32_t r[4];
    } test_vec[] = {
      { {  INT32_C(  1499344216),  INT32_C(  1524728521),  INT32_C(  1303864302), -INT32_C(  1288989303) },
        { -INT32_C(  1898069034), -INT32_C(   637691134),  INT32_C(  1260153992), -INT32_C(  1453578159) },
         INT32_C(   503495253),
        { -INT32_C(  2064273562),  INT32_C(  1891200627), -INT32_C(  1374536426), -INT32_C(  1296969106) } },
      { {  INT32_C(   712631356), -INT32_C(   797429689), -INT32_C(  1669094459),  INT32_C(  1747607654) },
        { -INT32_C(  2092881925), -INT32_C(   439460204), -INT32_C(   594597242),  INT32_C(   570069477) },
        -INT32_C(  1135840395),
        { -INT32_C(  1631917325),  INT32_C(  1345709547), -INT32_C(  1043053309), -INT32_C(    80417521) } },
      { {  INT32_C(  1770833060), -INT32_C(   855306393),  INT32_C(  1798713456), -INT32_C(   336627881) },
        {  INT32_C(  1557249493), -INT32_C(   851943192),  INT32_C(  1743663857),  INT32_C(  1243822758) },
         INT32_C(  1706275070),
        {  INT32_C(  2031652346),  INT32_C(  2009904535),  INT32_C(     1403790),  INT32_C(   860342283) } },
      { {  INT32_C(   791919039),  INT32_C(  1083927017), -INT32_C(  1238594848),  INT32_C(   789773639) },
        {  INT32_C(  1325156957),  INT32_C(   582347644),  INT32_C(   611113253),  INT32_C(  1216946313) },
        -INT32_C(  1032274727),
        { -INT32_C(  1086124396), -INT32_C(  1612769787),  INT32_C(  1497351997),  INT32_C(  1902914920) } },
      { {  INT32_C(   100799269), -INT32_C(   457429347), -INT32_C(  2011902421), -INT32_C(  1797844968) },
        {  INT32_C(   565677307), -INT32_C(   297458843),  INT32_C(   473419331), -INT32_C(  1327583349) },
         INT32_C(  1605820866),
        {  INT32_C(  1165329499), -INT32_C(   569719257),  INT32_C(  2001338353), -INT32_C(  1212988818) } },
      { {  INT32_C(   994275855),  INT32_C(  1489196864),  INT32_C(  1676515944), -INT32_C(  1937464281) },
        {  INT32_C(   192661959),  INT32_C(   589804184),  INT32_C(   601032289), -INT32_C(   159216921) },
         INT32_C(  1026672124),
        { -INT32_C(   713345805), -INT32_C(   413262624),  INT32_C(  1629587172),  INT32_C(  1260397195) } },
      { { -INT32_C(  2053769955), -INT32_C(  1226276209), -INT32_C(   297571034), -INT32_C(   822493642) },
        { -INT32_C(   772726672),  INT32_C(   234145062),  INT32_C(  1258583631),  INT32_C(  1485321531) },
        -INT32_C(  1159913942),
        { -INT32_C(  1717409923),  INT32_C(  2113490635),  INT32_C(  1259280412),  INT32_C(   494822372) } },
      { { -INT32_C(   948910432),  INT32_C(  1773515571), -INT32_C(   516379023), -INT32_C(   172873266) },
        {  INT32_C(  1023583982),  INT32_C(  1485375004),  INT32_C(  1722814780), -INT32_C(   803172817) },
        -INT32_C(  2020109996),
        {  INT32_C(  1161714360),  INT32_C(  1906675811),  INT32_C(   455430689),  INT32_C(  1470263354) } },
  
    };
  
    for (size_t i = 0 ; i < (sizeof(test_vec) / sizeof(test_vec[0])) ; i++) {
      simde_int32x4_t a = simde_vld1q_s32(test_vec[i].a);
      simde_int32x4_t b = simde_vld1q_s32(test_vec[i].b);
      int32_t c = test_vec[i].c;
      simde_int32x4_t r = simde_vmlaq_n_s32(a, b, c);
      simde_test_arm_neon_assert_equal_i32x4(r, simde_vld1q_s32(test_vec[i].r));
    }
  
    return 0;
  #else
    fputc('\n', stdout);
    for (int i = 0 ; i < 8 ; i++) {
      simde_int32x4_t a = simde_test_arm_neon_random_i32x4();
      simde_int32x4_t b = simde_test_arm_neon_random_i32x4();
      int32_t c = simde_test_codegen_random_i32();
      simde_int32x4_t r = simde_vmlaq_n_s32(a, b, c);
  
      simde_test_arm_neon_write_i32x4(2, a, SIMDE_TEST_VEC_POS_FIRST);
      simde_test_arm_neon_write_i32x4(2, b, SIMDE_TEST_VEC_POS_MIDDLE);
      simde_test_codegen_write_i32(2, c, SIMDE_TEST_VEC_POS_MIDDLE);
      simde_test_arm_neon_write_i32x4(2, r, SIMDE_TEST_VEC_POS_LAST);
    }
    return 1;
  #endif
  }
  
  
  static int
  test_simde_vmlaq_n_u16 (SIMDE_MUNIT_TEST_ARGS) {
  #if 1
    static const struct {
      uint16_t a[8];
      uint16_t b[8];
      uint16_t c;
      uint16_t r[8];
    } test_vec[] = {
      { { UINT16_C(32955), UINT16_C(48081), UINT16_C(31759), UINT16_C(16199), UINT16_C(32480), UINT16_C(10241), UINT16_C(21846), UINT16_C(11889) },
        { UINT16_C(60208), UINT16_C( 2393), UINT16_C(43679), UINT16_C(54796), UINT16_C(44510), UINT16_C(46318), UINT16_C( 9561), UINT16_C( 5250) },
        UINT16_C(21413),
        { UINT16_C(42667), UINT16_C(40238), UINT16_C(  394), UINT16_C( 6403), UINT16_C(35062), UINT16_C(61287), UINT16_C(17075), UINT16_C(35899) } },
      { { UINT16_C(46543), UINT16_C( 5839), UINT16_C(45044), UINT16_C(62869), UINT16_C(60376), UINT16_C(18763), UINT16_C(31514), UINT16_C(29492) },
        { UINT16_C(54149), UINT16_C(37150), UINT16_C(64682), UINT16_C(38974), UINT16_C(38832), UINT16_C(12989), UINT16_C(25516), UINT16_C(31621) },
        UINT16_C(21528),
        { UINT16_C(11847), UINT16_C(35231), UINT16_C(10212), UINT16_C(37733), UINT16_C(58456), UINT16_C( 3843), UINT16_C(17210), UINT16_C(43948) } },
      { { UINT16_C( 3218), UINT16_C( 9988), UINT16_C(56321), UINT16_C(19474), UINT16_C(11301), UINT16_C(23240), UINT16_C(19872), UINT16_C(48685) },
        { UINT16_C(55262), UINT16_C( 7354), UINT16_C(27248), UINT16_C(11699), UINT16_C(24476), UINT16_C( 8592), UINT16_C(43227), UINT16_C(28021) },
        UINT16_C(31156),
        { UINT16_C(49834), UINT16_C(17356), UINT16_C(41665), UINT16_C( 2286), UINT16_C( 8661), UINT16_C( 1032), UINT16_C(35484), UINT16_C(  369) } },
      { { UINT16_C(46740), UINT16_C(42581), UINT16_C(31490), UINT16_C(51923), UINT16_C(29653), UINT16_C(  535), UINT16_C(62769), UINT16_C(60378) },
        { UINT16_C(18961), UINT16_C(50517), UINT16_C(61815), UINT16_C( 2084), UINT16_C(65298), UINT16_C(34736), UINT16_C(25964), UINT16_C(    1) },
        UINT16_C(22043),
        { UINT16_C(15455), UINT16_C( 1100), UINT16_C(60559), UINT16_C(48799), UINT16_C(26299), UINT16_C(29095), UINT16_C(61333), UINT16_C(16885) } },
      { { UINT16_C( 7591), UINT16_C(31441), UINT16_C(42728), UINT16_C(65517), UINT16_C( 7849), UINT16_C(33781), UINT16_C( 1545), UINT16_C(24269) },
        { UINT16_C(17611), UINT16_C(61519), UINT16_C(24908), UINT16_C(65007), UINT16_C(23784), UINT16_C(59746), UINT16_C(32092), UINT16_C(  832) },
        UINT16_C( 4506),
        { UINT16_C(64197), UINT16_C(18775), UINT16_C(15008), UINT16_C(41139), UINT16_C(27193), UINT16_C(27369), UINT16_C(35681), UINT16_C(37709) } },
      { { UINT16_C(33405), UINT16_C(27320), UINT16_C(24962), UINT16_C(30600), UINT16_C(37348), UINT16_C(45437), UINT16_C(18927), UINT16_C(16117) },
        { UINT16_C(16953), UINT16_C(10399), UINT16_C(34879), UINT16_C(41348), UINT16_C(57713), UINT16_C(45342), UINT16_C(47332), UINT16_C(25283) },
        UINT16_C(31547),
        { UINT16_C(10400), UINT16_C(11357), UINT16_C( 3335), UINT16_C( 7412), UINT16_C(53743), UINT16_C(60775), UINT16_C(29307), UINT16_C(45798) } },
      { { UINT16_C(48588), UINT16_C(21980), UINT16_C(49204), UINT16_C(45542), UINT16_C(54897), UINT16_C(26362), UINT16_C(13076), UINT16_C(46248) },
        { UINT16_C(59228), UINT16_C(57404), UINT16_C(44424), UINT16_C(42689), UINT16_C(42591), UINT16_C( 8799), UINT16_C(39432), UINT16_C(54429) },
        UINT16_C(31063),
        { UINT16_C(55824), UINT16_C(58944), UINT16_C(  364), UINT16_C(38525), UINT16_C(18362), UINT16_C(64579), UINT16_C(21452), UINT16_C(11011) } },
      { { UINT16_C(35625), UINT16_C( 4153), UINT16_C(43580), UINT16_C(14310), UINT16_C(64016), UINT16_C(47466), UINT16_C(50862), UINT16_C(60064) },
        { UINT16_C(10663), UINT16_C(26776), UINT16_C(63439), UINT16_C(11790), UINT16_C( 5657), UINT16_C(46792), UINT16_C( 8171), UINT16_C( 5167) },
        UINT16_C(26794),
        { UINT16_C( 3087), UINT16_C(17705), UINT16_C(20914), UINT16_C(32050), UINT16_C(52906), UINT16_C(23098), UINT16_C(28860), UINT16_C(27094) } },
  
    };
  
    for (size_t i = 0 ; i < (sizeof(test_vec) / sizeof(test_vec[0])) ; i++) {
      simde_uint16x8_t a = simde_vld1q_u16(test_vec[i].a);
      simde_uint16x8_t b = simde_vld1q_u16(test_vec[i].b);
      uint16_t c = test_vec[i].c;
      simde_uint16x8_t r = simde_vmlaq_n_u16(a, b, c);
      simde_test_arm_neon_assert_equal_u16x8(r, simde_vld1q_u16(test_vec[i].r));
    }
  
    return 0;
  #else
    fputc('\n', stdout);
    for (int i = 0 ; i < 8 ; i++) {
      simde_uint16x8_t a = simde_test_arm_neon_random_u16x8();
      simde_uint16x8_t b = simde_test_arm_neon_random_u16x8();
      uint16_t c = simde_test_codegen_random_u16();
      simde_uint16x8_t r = simde_vmlaq_n_u16(a, b, c);
  
      simde_test_arm_neon_write_u16x8(2, a, SIMDE_TEST_VEC_POS_FIRST);
      simde_test_arm_neon_write_u16x8(2, b, SIMDE_TEST_VEC_POS_MIDDLE);
      simde_test_codegen_write_u16(2, c, SIMDE_TEST_VEC_POS_MIDDLE);
      simde_test_arm_neon_write_u16x8(2, r, SIMDE_TEST_VEC_POS_LAST);
    }
    return 1;
  #endif
  }
  
  static int
  test_simde_vmlaq_n_u32 (SIMDE_MUNIT_TEST_ARGS) {
  #if 1
    static const struct {
      uint32_t a[4];
      uint32_t b[4];
      uint32_t c;
      uint32_t r[4];
    } test_vec[] = {
      { { UINT32_C(1359494925), UINT32_C(3654459894), UINT32_C(3061381284), UINT32_C(2780043972) },
        { UINT32_C(1309599344), UINT32_C(1081949128), UINT32_C(2658471569), UINT32_C(2189969525) },
        UINT32_C(2127794567),
        { UINT32_C(4189664285), UINT32_C(2157015150), UINT32_C(4076259355), UINT32_C(4211840375) } },
      { { UINT32_C(3596068402), UINT32_C(1653395358), UINT32_C(1510490345), UINT32_C(4020770343) },
        { UINT32_C(3794740561), UINT32_C(2827002931), UINT32_C(1948912108), UINT32_C(3438476954) },
        UINT32_C(1117931940),
        { UINT32_C(2909906710), UINT32_C( 302943050), UINT32_C(3777161241), UINT32_C(1465981647) } },
      { { UINT32_C(  27536920), UINT32_C(2505813102), UINT32_C( 344196291), UINT32_C(1576514345) },
        { UINT32_C(1141208919), UINT32_C( 448278656), UINT32_C(3538332206), UINT32_C( 185895155) },
        UINT32_C( 621590710),
        { UINT32_C(1986104818), UINT32_C(3173656430), UINT32_C(1861882231), UINT32_C(2338568171) } },
      { { UINT32_C( 683305061), UINT32_C(2503753580), UINT32_C(1257386994), UINT32_C( 730790059) },
        { UINT32_C(1447446056), UINT32_C(3811060976), UINT32_C(1810775221), UINT32_C(1502673652) },
        UINT32_C(3464579938),
        { UINT32_C(1347877813), UINT32_C( 347587404), UINT32_C(2770565180), UINT32_C(3146286611) } },
      { { UINT32_C(2086977162), UINT32_C(2630244081), UINT32_C(1992840270), UINT32_C(2328628890) },
        { UINT32_C(4016960570), UINT32_C( 626744112), UINT32_C(3095325526), UINT32_C(3230072886) },
        UINT32_C(2940070846),
        { UINT32_C(4144185238), UINT32_C(3183023249), UINT32_C(3296784418), UINT32_C(1393412270) } },
      { { UINT32_C(2420900673), UINT32_C(4060484696), UINT32_C(1551749922), UINT32_C(4165790407) },
        { UINT32_C(2619189062), UINT32_C(3377765266), UINT32_C(1502206875), UINT32_C( 134858438) },
        UINT32_C( 580408778),
        { UINT32_C( 902577789), UINT32_C(2837467020), UINT32_C(3275199088), UINT32_C(3767763203) } },
      { { UINT32_C(2333384297), UINT32_C( 971477361), UINT32_C(3258004348), UINT32_C(1834897114) },
        { UINT32_C(2234954473), UINT32_C(1423884174), UINT32_C(1348265862), UINT32_C(2775774268) },
        UINT32_C(  70289043),
        { UINT32_C(3671281716), UINT32_C(2964579323), UINT32_C( 165300590), UINT32_C(1433924942) } },
      { { UINT32_C(2487031832), UINT32_C( 643198539), UINT32_C(2794697916), UINT32_C(4096510310) },
        { UINT32_C( 239667592), UINT32_C( 761177585), UINT32_C( 768856218), UINT32_C(1865483095) },
        UINT32_C(1728278299),
        { UINT32_C(2511016304), UINT32_C(3793251766), UINT32_C(3140188922), UINT32_C(4191083667) } },
  
    };
  
    for (size_t i = 0 ; i < (sizeof(test_vec) / sizeof(test_vec[0])) ; i++) {
      simde_uint32x4_t a = simde_vld1q_u32(test_vec[i].a);
      simde_uint32x4_t b = simde_vld1q_u32(test_vec[i].b);
      uint32_t c = test_vec[i].c;
      simde_uint32x4_t r = simde_vmlaq_n_u32(a, b, c);
  
      simde_test_arm_neon_assert_equal_u32x4(r, simde_vld1q_u32(test_vec[i].r));
    }
  
    return 0;
  #else
    fputc('\n', stdout);
    for (int i = 0 ; i < 8 ; i++) {
      simde_uint32x4_t a = simde_test_arm_neon_random_u32x4();
      simde_uint32x4_t b = simde_test_arm_neon_random_u32x4();
      uint32_t c = simde_test_codegen_random_u32();
      simde_uint32x4_t r = simde_vmlaq_n_u32(a, b, c);
  
      simde_test_arm_neon_write_u32x4(2, a, SIMDE_TEST_VEC_POS_FIRST);
      simde_test_arm_neon_write_u32x4(2, b, SIMDE_TEST_VEC_POS_MIDDLE);
      simde_test_codegen_write_u32(2, c, SIMDE_TEST_VEC_POS_MIDDLE);
      simde_test_arm_neon_write_u32x4(2, r, SIMDE_TEST_VEC_POS_LAST);
    }
    return 1;
  #endif
  }
  
  SIMDE_TEST_FUNC_LIST_BEGIN
  SIMDE_TEST_FUNC_LIST_ENTRY(vmla_n_f32)
  SIMDE_TEST_FUNC_LIST_ENTRY(vmla_n_s16)
  SIMDE_TEST_FUNC_LIST_ENTRY(vmla_n_s32)
  SIMDE_TEST_FUNC_LIST_ENTRY(vmla_n_u16)
  SIMDE_TEST_FUNC_LIST_ENTRY(vmla_n_u32)
  
  SIMDE_TEST_FUNC_LIST_ENTRY(vmlaq_n_f32)
  SIMDE_TEST_FUNC_LIST_ENTRY(vmlaq_n_s16)
  SIMDE_TEST_FUNC_LIST_ENTRY(vmlaq_n_s32)
  SIMDE_TEST_FUNC_LIST_ENTRY(vmlaq_n_u16)
  SIMDE_TEST_FUNC_LIST_ENTRY(vmlaq_n_u32)
  SIMDE_TEST_FUNC_LIST_END
  
  #include "test-neon-footer.h"
  