### ----------------------------------------------------
### -- Math::Libgsl::BLAS
### -- Licenses: Artistic-2.0
### -- Authors: Fernando Santagata
### -- File: t/01-raw.rakutest
### ----------------------------------------------------
### -- Chunk 2 of 4
  mgsl_matrix_complex_float_set($cA4, 0, 0, $c4);
  my gsl_vector_complex_float $cx4 = gsl_vector_complex_float_calloc(1);
  mgsl_complex_float_rect(.209e0, -.935e0, $c4);
  mgsl_vector_complex_float_set($cx4, 0, $c4);
  my gsl_vector_complex_float $cy4 = gsl_vector_complex_float_calloc(1);
  mgsl_complex_float_rect(.346e0, -.412e0, $c4);
  mgsl_vector_complex_float_set($cy4, 0, $c4);
  ok mgsl_blas_chemv(CblasUpper, $cα, $cA4, $cx4, $cβ1, $cy4) == GSL_SUCCESS, 'sum αAx + βy: complex32';
  is-deeply (gather { mgsl_vector_complex_float_get($cy4, 0, $cres); take $cres.dat[0]; take $cres.dat[1] }), (-0.1533060073852539e0, 0.5639899969100952e0), 'result: ok';

  mgsl_complex_rect(0e0, 0e0, $zα);
  my gsl_complex $zβ1 = alloc_gsl_complex;
  mgsl_complex_rect(1e0, 0e0, $zβ1);
  my gsl_matrix_complex $zA4 = gsl_matrix_complex_calloc(1, 1);
  my gsl_complex $z4 = alloc_gsl_complex;
  mgsl_complex_rect(.036e0, -.966e0, $z4);
  mgsl_matrix_complex_set($zA4, 0, 0, $z4);
  my gsl_vector_complex $zx4 = gsl_vector_complex_calloc(1);
  mgsl_complex_rect(-.695e0, .886e0, $z4);
  mgsl_vector_complex_set($zx4, 0, $z4);
  my gsl_vector_complex $zy4 = gsl_vector_complex_calloc(1);
  mgsl_complex_rect(.486e0, .629e0, $z4);
  mgsl_vector_complex_set($zy4, 0, $z4);
  ok mgsl_blas_zhemv(CblasUpper, $zα, $zA4, $zx4, $zβ1, $zy4) == GSL_SUCCESS, 'sum αAx + βy: complex64';
  is-deeply (gather { mgsl_vector_complex_get($zy4, 0, $zres); take $zres.dat[0]; take $zres.dat[1] }), (0.486e0, 0.629e0), 'result: ok';

  $α = 1e0;
  my gsl_matrix_float $A5 = gsl_matrix_float_calloc(1, 1);
  gsl_matrix_float_set($A5, 0, 0, -.515e0);
  my gsl_vector_float $x5 = gsl_vector_float_calloc(1);
  gsl_vector_float_set($x5, 0, .611e0);
  my gsl_vector_float $y5 = gsl_vector_float_calloc(1);
  gsl_vector_float_set($y5, 0, -.082e0);
  ok gsl_blas_sger($α, $x5, $y5, $A5) == GSL_SUCCESS, 'αxT(y) + A: num32';
  ok gsl_matrix_float_get($A5, 0, 0) == -0.5651019811630249e0, 'result: ok';

  $dα = 1e0;
  my gsl_matrix $dA5 = gsl_matrix_calloc(1, 1);
  gsl_matrix_set($dA5, 0, 0, -.809e0);
  my gsl_vector $dx5 = gsl_vector_calloc(1);
  gsl_vector_set($dx5, 0, -.652e0);
  my gsl_vector $dy5 = gsl_vector_calloc(1);
  gsl_vector_set($dy5, 0, .712e0);
  ok gsl_blas_dger($dα, $dx5, $dy5, $dA5) == GSL_SUCCESS, 'αxT(y) + A: num64';
  ok gsl_matrix_get($dA5, 0, 0) == -1.273224e0, 'result: ok';

  mgsl_complex_float_rect(0e0, 0e0, $cα);
  my gsl_matrix_complex_float $cA5 = gsl_matrix_complex_float_calloc(1, 1);
  my gsl_complex_float $c5 = alloc_gsl_complex_float;
  mgsl_complex_float_rect(-.651e0, .856e0, $c5);
  mgsl_matrix_complex_float_set($cA5, 0, 0, $c5);
  my gsl_vector_complex_float $cx5 = gsl_vector_complex_float_calloc(1);
  mgsl_complex_float_rect(-.38e0, -.235e0, $c5);
  mgsl_vector_complex_float_set($cx5, 0, $c5);
  my gsl_vector_complex_float $cy5 = gsl_vector_complex_float_calloc(1);
  mgsl_complex_float_rect(-.651e0, .856e0, $c5);
  mgsl_vector_complex_float_set($cy5, 0, $c5);
  ok mgsl_blas_cgeru($cα, $cx5, $cy5, $cA5) == GSL_SUCCESS, 'αxT(y) + A: complex32';
  is-deeply (gather { mgsl_matrix_complex_float_get($cA5, 0, 0, $cres); take $cres.dat[0]; take $cres.dat[1] }), (-0.6510000228881836e0, 0.8560000061988831e0), 'result: ok';

  mgsl_complex_rect(-1e0, 0e0, $zα);
  my gsl_matrix_complex $zA5 = gsl_matrix_complex_calloc(1, 1);
  my gsl_complex $z5 = alloc_gsl_complex;
  mgsl_complex_rect(-.426e0, .757e0, $z5);
  mgsl_matrix_complex_set($zA5, 0, 0, $z5);
  my gsl_vector_complex $zx5 = gsl_vector_complex_calloc(1);
  mgsl_complex_rect(-.579e0, -.155e0, $z5);
  mgsl_vector_complex_set($zx5, 0, $z5);
  my gsl_vector_complex $zy5 = gsl_vector_complex_calloc(1);
  mgsl_complex_rect(.831e0, .035e0, $z5);
  mgsl_vector_complex_set($zy5, 0, $z5);
  ok mgsl_blas_zgeru($zα, $zx5, $zy5, $zA5) == GSL_SUCCESS, 'αxT(y) + A: complex64';
  is-deeply (gather { mgsl_matrix_complex_get($zA5, 0, 0, $zres); take $zres.dat[0]; take $zres.dat[1] }), (0.049723999999999935e0, 0.90607e0), 'result: ok';

  mgsl_complex_float_rect(0e0, 0e0, $cα);
  my gsl_matrix_complex_float $cA6 = gsl_matrix_complex_float_calloc(1, 1);
  my gsl_complex_float $c6 = alloc_gsl_complex_float;
  mgsl_complex_float_rect(-.651e0, .856e0, $c6);
  mgsl_matrix_complex_float_set($cA6, 0, 0, $c6);
  my gsl_vector_complex_float $cx6 = gsl_vector_complex_float_calloc(1);
  mgsl_complex_float_rect(-.38e0, -.235e0, $c6);
  mgsl_vector_complex_float_set($cx6, 0, $c6);
  my gsl_vector_complex_float $cy6 = gsl_vector_complex_float_calloc(1);
  mgsl_complex_float_rect(-.651e0, .856e0, $c6);
  mgsl_vector_complex_float_set($cy6, 0, $c6);
  ok mgsl_blas_cgerc($cα, $cx6, $cy6, $cA6) == GSL_SUCCESS, 'αxH(y) + A: complex32';
  is-deeply (gather { mgsl_matrix_complex_float_get($cA6, 0, 0, $cres); take $cres.dat[0]; take $cres.dat[1] }), (-0.6510000228881836e0, 0.8560000061988831e0), 'result: ok';

  mgsl_complex_rect(-1e0, 0e0, $zα);
  my gsl_matrix_complex $zA6 = gsl_matrix_complex_calloc(1, 1);
  my gsl_complex $z6 = alloc_gsl_complex;
  mgsl_complex_rect(-.426e0, .757e0, $z6);
  mgsl_matrix_complex_set($zA6, 0, 0, $z6);
  my gsl_vector_complex $zx6 = gsl_vector_complex_calloc(1);
  mgsl_complex_rect(-.579e0, -.155e0, $z6);
  mgsl_vector_complex_set($zx6, 0, $z6);
  my gsl_vector_complex $zy6 = gsl_vector_complex_calloc(1);
  mgsl_complex_rect(.831e0, .035e0, $z6);
  mgsl_vector_complex_set($zy6, 0, $z6);
  ok mgsl_blas_zgerc($zα, $zx6, $zy6, $zA6) == GSL_SUCCESS, 'αxH(y) + A: complex64';
  is-deeply (gather { mgsl_matrix_complex_get($zA6, 0, 0, $zres); take $zres.dat[0]; take $zres.dat[1] }), (0.06057399999999996e0, 0.86554e0), 'result: ok';

  $α = .1e0;
  my gsl_matrix_float $A7 = gsl_matrix_float_calloc(1, 1);
  gsl_matrix_float_set($A7, 0, 0, -.291e0);
  my gsl_vector_float $x7 = gsl_vector_float_calloc(1);
  gsl_vector_float_set($x7, 0, .845e0);
  ok gsl_blas_ssyr(CblasUpper, $α, $x7, $A7) == GSL_SUCCESS, 'αxT(x) + A: num32';
  ok gsl_matrix_float_get($A7, 0, 0) == -0.21959750354290009e0, 'result: ok';

  $dα = -.3e0;
  my gsl_matrix $dA7 = gsl_matrix_calloc(1, 1);
  gsl_matrix_set($dA7, 0, 0, -.65e0);
  my gsl_vector $dx7 = gsl_vector_calloc(1);
  gsl_vector_set($dx7, 0, -.891e0);
  ok gsl_blas_dsyr(CblasUpper, $dα, $dx7, $dA7) == GSL_SUCCESS, 'αxT(x) + A: num64';
  ok gsl_matrix_get($dA7, 0, 0) == -0.8881643e0, 'result: ok';

  my gsl_matrix_complex_float $cA7 = gsl_matrix_complex_float_calloc(1, 1);
  my gsl_complex_float $c7 = alloc_gsl_complex_float;
  mgsl_complex_float_rect(-.651e0, .856e0, $c7);
  mgsl_matrix_complex_float_set($cA7, 0, 0, $c7);
  my gsl_vector_complex_float $cx7 = gsl_vector_complex_float_calloc(1);
  mgsl_complex_float_rect(-.38e0, -.235e0, $c7);
  mgsl_vector_complex_float_set($cx7, 0, $c7);
  ok gsl_blas_cher(CblasUpper, $α, $cx7, $cA7) == GSL_SUCCESS, 'αxH(y) + A: complex32';
  is-deeply (gather { mgsl_matrix_complex_float_get($cA7, 0, 0, $cres); take $cres.dat[0]; take $cres.dat[1] }), (-0.6310375332832336e0, 0e0), 'result: ok';

  my gsl_matrix_complex $zA7 = gsl_matrix_complex_calloc(1, 1);
  my gsl_complex $z7 = alloc_gsl_complex;
  mgsl_complex_rect(-.426e0, .757e0, $z7);
  mgsl_matrix_complex_set($zA7, 0, 0, $z7);
  my gsl_vector_complex $zx7 = gsl_vector_complex_calloc(1);
  mgsl_complex_rect(-.579e0, -.155e0, $z7);
  mgsl_vector_complex_set($zx7, 0, $z7);
  ok gsl_blas_zher(CblasUpper, $dα, $zx7, $zA7) == GSL_SUCCESS, 'αxH(y) + A: complex64';
  is-deeply (gather { mgsl_matrix_complex_get($zA7, 0, 0, $zres); take $zres.dat[0]; take $zres.dat[1] }), (-0.5337798e0, 0e0), 'result: ok';

  $α = 0e0;
  my gsl_matrix_float $A8 = gsl_matrix_float_calloc(1, 1);
  gsl_matrix_float_set($A8, 0, 0, .862e0);
  my gsl_vector_float $x8 = gsl_vector_float_calloc(1);
  gsl_vector_float_set($x8, 0, .823e0);
  my gsl_vector_float $y8 = gsl_vector_float_calloc(1);
  gsl_vector_float_set($y8, 0, .699e0);
  ok gsl_blas_ssyr2(CblasUpper, $α, $x8, $y8, $A8) == GSL_SUCCESS, 'αxT(y) + αyT(x) + A: num32';
  ok gsl_matrix_float_get($A8, 0, 0) == 0.8619999885559082e0, 'result: ok';

  $dα = 0e0;
  my gsl_matrix $dA8 = gsl_matrix_calloc(1, 1);
  gsl_matrix_set($dA8, 0, 0, -.824e0);
  my gsl_vector $dx8 = gsl_vector_calloc(1);
  gsl_vector_set($dx8, 0, .684e0);
  my gsl_vector $dy8 = gsl_vector_calloc(1);
  gsl_vector_set($dy8, 0, .965e0);
  ok gsl_blas_dsyr2(CblasUpper, $dα, $dx8, $dy8, $dA8) == GSL_SUCCESS, 'αxT(x) + αyT(x) + A: num64';
  ok gsl_matrix_get($dA8, 0, 0) == -0.824e0, 'result: ok';

  mgsl_complex_float_rect(-1e0, 0e0, $cα);
  my gsl_matrix_complex_float $cA8 = gsl_matrix_complex_float_calloc(1, 1);
  my gsl_complex_float $c8 = alloc_gsl_complex_float;
  mgsl_complex_float_rect(-.821e0, .954e0, $c8);
  mgsl_matrix_complex_float_set($cA8, 0, 0, $c8);
  my gsl_vector_complex_float $cx8 = gsl_vector_complex_float_calloc(1);
  mgsl_complex_float_rect(.532e0, .802e0, $c8);
  mgsl_vector_complex_float_set($cx8, 0, $c8);
  my gsl_vector_complex_float $cy8 = gsl_vector_complex_float_calloc(1);
  mgsl_complex_float_rect(.016e0, -.334e0, $c8);
  mgsl_vector_complex_float_set($cy8, 0, $c8);
  ok mgsl_blas_cher2(CblasUpper, $cα, $cx8, $cy8, $cA8) == GSL_SUCCESS, 'αxH(y) + αyH(x) + A: complex32';
  is-deeply (gather { mgsl_matrix_complex_float_get($cA8, 0, 0, $cres); take $cres.dat[0]; take $cres.dat[1] }), (-0.3022879958152771e0, 0e0), 'result: ok';

  mgsl_complex_rect(-.3e0, .1e0, $zα);
  my gsl_matrix_complex $zA8 = gsl_matrix_complex_calloc(1, 1);
  my gsl_complex $z8 = alloc_gsl_complex;
  mgsl_complex_rect(-.334e0, .286e0, $z8);
  mgsl_matrix_complex_set($zA8, 0, 0, $z8);
  my gsl_vector_complex $zx8 = gsl_vector_complex_calloc(1);
  mgsl_complex_rect(-.14e0, -.135e0, $z8);
  mgsl_vector_complex_set($zx8, 0, $z8);
  my gsl_vector_complex $zy8 = gsl_vector_complex_calloc(1);
  mgsl_complex_rect(.455e0, .358e0, $z8);
  mgsl_vector_complex_set($zy8, 0, $z8);
  ok mgsl_blas_zher2(CblasUpper, $zα, $zx8, $zy8, $zA8) == GSL_SUCCESS, 'αxH(y) + αyH(x) + A: complex64';
  is-deeply (gather { mgsl_matrix_complex_get($zA8, 0, 0, $zres); take $zres.dat[0]; take $zres.dat[1] }), (-0.264521e0, 0e0), 'result: ok';
}, 'level 2 functions';

subtest {
  my $α = 1e0; my $β = 0e0;
  my gsl_matrix_float $A = gsl_matrix_float_calloc(1, 4);
  gsl_matrix_float_set($A, 0, 0, .199e0);
  gsl_matrix_float_set($A, 0, 1, .237e0);
  gsl_matrix_float_set($A, 0, 2, .456e0);
  gsl_matrix_float_set($A, 0, 3, .377e0);
  my gsl_matrix_float $B = gsl_matrix_float_calloc(4, 2);
  gsl_matrix_float_set($B, 0, 0,  .842e0);
  gsl_matrix_float_set($B, 0, 1, -.734e0);
  gsl_matrix_float_set($B, 1, 0,  .323e0);
  gsl_matrix_float_set($B, 1, 1, -.957e0);
  gsl_matrix_float_set($B, 2, 0, -.303e0);
  gsl_matrix_float_set($B, 2, 1, -.873e0);
  gsl_matrix_float_set($B, 3, 0, -.871e0);
  gsl_matrix_float_set($B, 3, 1, -.819e0);
  my gsl_matrix_float $C = gsl_matrix_float_calloc(1, 2);
  gsl_matrix_float_set($C, 0, 0,  .498e0);
  gsl_matrix_float_set($C, 0, 1, -.925e0);
  ok gsl_blas_sgemm(CblasNoTrans, CblasNoTrans, $α, $A, $B, $β, $C) == GSL_SUCCESS, 'sum αop(A)op(B) + βC: num32';
  is-deeply (gather take gsl_matrix_float_get($C, 0, $_) for ^2), (-0.22242599725723267e0, -1.0797260999679565e0), 'result: ok';

  $α = 0e0; $β = 0e0;
  my gsl_matrix $dA = gsl_matrix_calloc(1, 4);
  gsl_matrix_set($dA, 0, 0, .017e0);
  gsl_matrix_set($dA, 0, 1, .191e0);
  gsl_matrix_set($dA, 0, 2, .863e0);
  gsl_matrix_set($dA, 0, 3, -.97e0);
  my gsl_matrix $dB = gsl_matrix_calloc(4, 2);
  gsl_matrix_set($dB, 0, 0, -.207e0);
  gsl_matrix_set($dB, 0, 1, -.916e0);
  gsl_matrix_set($dB, 1, 0, -.278e0);
  gsl_matrix_set($dB, 1, 1, .403e0);
  gsl_matrix_set($dB, 2, 0, .885e0);
  gsl_matrix_set($dB, 2, 1, .409e0);
  gsl_matrix_set($dB, 3, 0, -.772e0);
  gsl_matrix_set($dB, 3, 1, -.27e0);
  my gsl_matrix $dC = gsl_matrix_calloc(1, 2);
  gsl_matrix_set($dC, 0, 0, -.274e0);
  gsl_matrix_set($dC, 0, 1, -.858e0);
  ok gsl_blas_dgemm(CblasNoTrans, CblasNoTrans, $α, $dA, $dB, $β, $dC) == GSL_SUCCESS, 'sum αop(A)op(B) + βC: num64';
  is-deeply (gather take gsl_matrix_get($dC, 0, $_) for ^2), (0e0, 0e0), 'result: ok';

  my gsl_complex_float $cα = alloc_gsl_complex_float;
  mgsl_complex_float_rect(0e0, 1e0, $cα);
  my gsl_complex_float $cβ = alloc_gsl_complex_float;
  mgsl_complex_float_rect(0e0, 0e0, $cβ);
  my gsl_matrix_complex_float $cA = gsl_matrix_complex_float_calloc(1, 4);
  my gsl_complex_float $c = alloc_gsl_complex_float;
  mgsl_complex_float_rect(-.082e0, -.281e0, $c);
  mgsl_matrix_complex_float_set($cA, 0, 0, $c);
  mgsl_complex_float_rect(-.096e0, .913e0, $c);
  mgsl_matrix_complex_float_set($cA, 0, 1, $c);
  mgsl_complex_float_rect(.974e0, -.706e0, $c);
  mgsl_matrix_complex_float_set($cA, 0, 2, $c);
  mgsl_complex_float_rect(-.773e0, .522e0, $c);
  mgsl_matrix_complex_float_set($cA, 0, 3, $c);
  my gsl_matrix_complex_float $cB = gsl_matrix_complex_float_calloc(4, 2);
  mgsl_complex_float_rect(.745e0, -.664e0, $c);
  mgsl_matrix_complex_float_set($cB, 0, 0, $c);
  mgsl_complex_float_rect(.352e0, -.733e0, $c);
  mgsl_matrix_complex_float_set($cB, 0, 1, $c);
  mgsl_complex_float_rect(.304e0, -.555e0, $c);
  mgsl_matrix_complex_float_set($cB, 1, 0, $c);
  mgsl_complex_float_rect(-.493e0, -.089e0, $c);
  mgsl_matrix_complex_float_set($cB, 1, 1, $c);
  mgsl_complex_float_rect(.188e0, .631e0, $c);
  mgsl_matrix_complex_float_set($cB, 2, 0, $c);
  mgsl_complex_float_rect(.235e0, .152e0, $c);
  mgsl_matrix_complex_float_set($cB, 2, 1, $c);
  mgsl_complex_float_rect(-.299e0, -.731e0, $c);
  mgsl_matrix_complex_float_set($cB, 3, 0, $c);
  mgsl_complex_float_rect(-.686e0, -.332e0, $c);
  mgsl_matrix_complex_float_set($cB, 3, 1, $c);
  my gsl_matrix_complex_float $cC = gsl_matrix_complex_float_calloc(1, 2);
  mgsl_complex_float_rect(-.179e0, -.284e0, $c);
  mgsl_matrix_complex_float_set($cC, 0, 0, $c);
  mgsl_complex_float_rect(-.996e0, -.414e0, $c);
  mgsl_matrix_complex_float_set($cC, 0, 1, $c);
  ok mgsl_blas_cgemm(CblasNoTrans, CblasNoTrans, $cα, $cA, $cB, $cβ, $cC) == GSL_SUCCESS, 'sum αop(A)op(B) + βC: complex32';
  my gsl_complex_float $cres = alloc_gsl_complex_float;
  is-deeply (gather for ^2 { mgsl_matrix_complex_float_get($cC, 0, $_, $cres); take $cres.dat[0]; take $cres.dat[1] }), (-1.0667860507965088e0, 1.4711639881134033e0, 0.5996890068054199e0, 0.9335318803787231e0), 'result: ok';

  my gsl_complex $zα = alloc_gsl_complex;
  mgsl_complex_rect(1e0, 0e0, $zα);
  my gsl_complex $zβ = alloc_gsl_complex;
  mgsl_complex_rect(-1e0, 0e0, $zβ);
  my gsl_matrix_complex $zA = gsl_matrix_complex_calloc(1, 4);
  my gsl_complex $z = alloc_gsl_complex;
  mgsl_complex_rect(-.33e0, .457e0, $z);
  mgsl_matrix_complex_set($zA, 0, 0, $z);
  mgsl_complex_rect(.428e0, -.19e0, $z);
  mgsl_matrix_complex_set($zA, 0, 1, $z);
  mgsl_complex_rect(.86e0, -.53e0, $z);
  mgsl_matrix_complex_set($zA, 0, 2, $z);
  mgsl_complex_rect(.058e0, -.942e0, $z);
  mgsl_matrix_complex_set($zA, 0, 3, $z);
  my gsl_matrix_complex $zB = gsl_matrix_complex_calloc(4, 2);
  mgsl_complex_rect(.434e0, .653e0, $z);
  mgsl_matrix_complex_set($zB, 0, 0, $z);
  mgsl_complex_rect(-.124e0, .191e0, $z);
  mgsl_matrix_complex_set($zB, 0, 1, $z);
  mgsl_complex_rect(-.112e0, -.84e0, $z);
  mgsl_matrix_complex_set($zB, 1, 0, $z);
  mgsl_complex_rect(-.72e0, .075e0, $z);
  mgsl_matrix_complex_set($zB, 1, 1, $z);
  mgsl_complex_rect(-.503e0, -.109e0, $z);
  mgsl_matrix_complex_set($zB, 2, 0, $z);
  mgsl_complex_rect(.3e0, -.898e0, $z);
  mgsl_matrix_complex_set($zB, 2, 1, $z);
  mgsl_complex_rect(.489e0, .384e0, $z);
  mgsl_matrix_complex_set($zB, 3, 0, $z);
  mgsl_complex_rect(.993e0, -.804e0, $z);
  mgsl_matrix_complex_set($zB, 3, 1, $z);
  my gsl_matrix_complex $zC = gsl_matrix_complex_calloc(1, 2);
  mgsl_complex_rect(-.792e0, -.155e0, $z);
  mgsl_matrix_complex_set($zC, 0, 0, $z);
  mgsl_complex_rect(-.608e0, -.243e0, $z);
  mgsl_matrix_complex_set($zC, 0, 1, $z);
  ok mgsl_blas_zgemm(CblasNoTrans, CblasNoTrans, $zα, $zA, $zB, $zβ, $zC) == GSL_SUCCESS, 'sum αop(A)op(B) + βC: complex64';
  my gsl_complex $zres = alloc_gsl_complex;
  is-deeply (gather for ^2 { mgsl_matrix_complex_get($zC, 0, $_, $zres); take $zres.dat[0]; take $zres.dat[1] }), (0.04256299999999996e0, -0.465908e0, -0.6499910000000001e0, -1.621116e0), 'result: ok';

  $α = -.3e0; $β = -1e0;
  my gsl_matrix_float $A1 = gsl_matrix_float_calloc(1, 1);
  gsl_matrix_float_set($A1, 0, 0, -.581e0);
  my gsl_matrix_float $B1 = gsl_matrix_float_calloc(1, 2);
  gsl_matrix_float_set($B1, 0, 0, .157e0);
  gsl_matrix_float_set($B1, 0, 1, .451e0);
  my gsl_matrix_float $C1 = gsl_matrix_float_calloc(1, 2);
  gsl_matrix_float_set($C1, 0, 0, -.869e0);
  gsl_matrix_float_set($C1, 0, 1, -.871e0);
  ok gsl_blas_ssymm(CblasLeft, CblasUpper, $α, $A1, $B1, $β, $C1) == GSL_SUCCESS, 'αAB + βC: num32';
  is-deeply (gather take gsl_matrix_float_get($C1, 0, $_) for ^2), (0.8963651061058044e0, 0.9496092796325684e0), 'result: ok';

  $α = -.3e0; $β = 1e0;
  my gsl_matrix $dA1 = gsl_matrix_calloc(1, 1);
  gsl_matrix_set($dA1, 0, 0, -.981e0);
  my gsl_matrix $dB1 = gsl_matrix_calloc(1, 2);
  gsl_matrix_set($dB1, 0, 0, -.823e0);
  gsl_matrix_set($dB1, 0, 1, .83e0);
  my gsl_matrix $dC1 = gsl_matrix_calloc(1, 2);
  gsl_matrix_set($dC1, 0, 0, .991e0);
  gsl_matrix_set($dC1, 0, 1, .382e0);
  ok gsl_blas_dsymm(CblasLeft, CblasUpper, $α, $dA1, $dB1, $β, $dC1) == GSL_SUCCESS, 'αAB + βC: num64';
  is-deeply (gather take gsl_matrix_get($dC1, 0, $_) for ^2), (0.7487911e0, 0.626269e0), 'result: ok';

  mgsl_complex_float_rect(-1e0, 0e0, $cα);
  mgsl_complex_float_rect(1e0, 0e0, $cβ);
  my gsl_matrix_complex_float $cA1 = gsl_matrix_complex_float_calloc(1, 1);
  mgsl_complex_float_rect(.476e0, .816e0, $c);
  mgsl_matrix_complex_float_set($cA1, 0, 0, $c);
  my gsl_matrix_complex_float $cB1 = gsl_matrix_complex_float_calloc(1, 2);
  mgsl_complex_float_rect(.282e0, .852e0, $c);
  mgsl_matrix_complex_float_set($cB1, 0, 0, $c);
  mgsl_complex_float_rect(-.891e0, -.588e0, $c);
  mgsl_matrix_complex_float_set($cB1, 0, 1, $c);
  my gsl_matrix_complex_float $cC1 = gsl_matrix_complex_float_calloc(1, 2);
  mgsl_complex_float_rect(.9e0, .486e0, $c);
  mgsl_matrix_complex_float_set($cC1, 0, 0, $c);
  mgsl_complex_float_rect(-