Just build it back to that situation, here’s longer listing with values. Indeed strange repetitions:
[0.648 debug src/rndbezosc.cpp:41] error: -1.199661, -1.199661, -1.199661, -1.199661
[0.853 debug src/rndbezosc.cpp:41] error: 0.482130, 0.482130, 0.482130, 0.482130
[0.859 debug src/rndbezosc.cpp:41] error: -1.199661, -1.199661, -1.199661, -1.199661
[0.865 debug src/rndbezosc.cpp:41] error: -1.199661, -1.199661, -1.199661, -1.199661
[0.871 debug src/rndbezosc.cpp:41] error: 0.482130, 0.482130, 0.482130, 0.482130
[0.878 debug src/rndbezosc.cpp:41] error: -2.233478, -2.233478, -2.233478, -2.233478
[0.903 debug src/rndbezosc.cpp:41] error: 2.257277, 2.257277, 2.257277, 2.257277
[0.951 debug src/rndbezosc.cpp:41] error: 0.015439, 0.015439, 0.015439, 0.015439
[0.995 debug src/rndbezosc.cpp:41] error: 0.482130, 0.482130, 0.482130, 0.482130
[1.043 debug src/rndbezosc.cpp:41] error: 2.035781, 2.035781, 2.035781, 2.035781
[1.090 debug src/rndbezosc.cpp:41] error: -2.233478, -2.233478, -2.233478, -2.233478
[1.131 debug src/rndbezosc.cpp:41] error: 2.194304, 2.194304, 2.194304, 2.194304
[1.175 debug src/rndbezosc.cpp:41] error: 2.257277, 2.257277, 2.257277, 2.257277
[1.223 debug src/rndbezosc.cpp:41] error: 0.015439, 0.015439, 0.015439, 0.015439
[1.271 debug src/rndbezosc.cpp:41] error: 2.035781, 2.035781, 2.035781, 2.035781
[1.314 debug src/rndbezosc.cpp:41] error: 2.194304, 2.194304, 2.194304, 2.194304
[1.362 debug src/rndbezosc.cpp:41] error: -0.003710, -0.003710, -0.003710, -0.003710
[1.404 debug src/rndbezosc.cpp:41] error: -0.003710, -0.003710, -0.003710, -0.003710
[1.452 debug src/rndbezosc.cpp:41] error: 0.351625, 0.351625, 0.351625, 0.351625
[1.495 debug src/rndbezosc.cpp:41] error: 0.351625, 0.351625, 0.351625, 0.351625
[1.543 debug src/rndbezosc.cpp:41] error: -0.574235, -0.574235, -0.574235, -0.574235
[1.586 debug src/rndbezosc.cpp:41] error: -0.574235, -0.574235, -0.574235, -0.574235
[1.632 debug src/rndbezosc.cpp:41] error: 0.506601, 0.506601, 0.506601, 0.506601
[1.676 debug src/rndbezosc.cpp:41] error: -1.377109, -1.377109, -1.377109, -1.377109
[1.724 debug src/rndbezosc.cpp:41] error: 0.506601, 0.506601, 0.506601, 0.506601
[1.767 debug src/rndbezosc.cpp:41] error: -1.377109, -1.377109, -1.377109, -1.377109
[1.815 debug src/rndbezosc.cpp:41] error: 0.856577, 0.856577, 0.856577, 0.856577
[1.857 debug src/rndbezosc.cpp:41] error: -1.275228, -1.275228, -1.275228, -1.275228
[1.903 debug src/rndbezosc.cpp:41] error: 0.856577, 0.856577, 0.856577, 0.856577
[1.947 debug src/rndbezosc.cpp:41] error: 1.255264, 1.255264, 1.255264, 1.255264
[1.995 debug src/rndbezosc.cpp:41] error: -1.275228, -1.275228, -1.275228, -1.275228
[2.043 debug src/rndbezosc.cpp:41] error: 1.255264, 1.255264, 1.255264, 1.255264
[2.086 debug src/rndbezosc.cpp:41] error: -0.644585, -0.644585, -0.644585, -0.644585
[2.128 debug src/rndbezosc.cpp:41] error: -0.644585, -0.644585, -0.644585, -0.644585
[2.176 debug src/rndbezosc.cpp:41] error: 2.439760, 2.439760, 2.439760, 2.439760
[2.223 debug src/rndbezosc.cpp:41] error: 2.439760, 2.439760, 2.439760, 2.439760
[2.267 debug src/rndbezosc.cpp:41] error: -0.350893, -0.350893, -0.350893, -0.350893
[2.314 debug src/rndbezosc.cpp:41] error: -0.350893, -0.350893, -0.350893, -0.350893
[2.355 debug src/rndbezosc.cpp:41] error: 2.131743, 2.131743, 2.131743, 2.131743
[2.403 debug src/rndbezosc.cpp:41] error: 2.131743, 2.131743, 2.131743, 2.131743
[2.447 debug src/rndbezosc.cpp:41] error: 0.643636, 0.643636, 0.643636, 0.643636
[2.494 debug src/rndbezosc.cpp:41] error: 0.643636, 0.643636, 0.643636, 0.643636
[2.543 debug src/rndbezosc.cpp:41] error: -1.519308, -1.519308, -1.519308, -1.519308
[2.587 debug src/rndbezosc.cpp:41] error: -1.519308, -1.519308, -1.519308, -1.519308
[2.627 debug src/rndbezosc.cpp:41] error: -1.614676, -1.614676, -1.614676, -1.614676
[2.675 debug src/rndbezosc.cpp:41] error: -1.614676, -1.614676, -1.614676, -1.614676
[2.723 debug src/rndbezosc.cpp:41] error: -1.402473, -1.402473, -1.402473, -1.402473
[2.767 debug src/rndbezosc.cpp:41] error: -0.156225, -0.156225, -0.156225, -0.156225
[2.815 debug src/rndbezosc.cpp:41] error: -1.402473, -1.402473, -1.402473, -1.402473
[2.856 debug src/rndbezosc.cpp:41] error: -0.989203, -0.989203, -0.989203, -0.989203
[2.903 debug src/rndbezosc.cpp:41] error: -0.033029, -0.033029, -0.033029, -0.033029
[2.947 debug src/rndbezosc.cpp:41] error: -0.673855, -0.673855, -0.673855, -0.673855
[2.994 debug src/rndbezosc.cpp:41] error: -0.156225, -0.156225, -0.156225, -0.156225
[3.038 debug src/rndbezosc.cpp:41] error: -2.075727, -2.075727, -2.075727, -2.075727
and the full function
inline std::array<simd::float_4, 4> genSpline(){
std::array<simd::float_4, 4> BezierN;
//BezierN[0][0] = random::uniform(); // A Knot
//BezierN[0][1] = random::uniform(); // Ab Handle
//BezierN[0][2] = random::uniform(); // Ba Handle
//BezierN[0][3] = random::uniform(); // B Knot
//BezierN[0] = simd::rescale(BezierN[0], 0, 1,-2.5, 2.5); // A Knot
BezierN[0] = simd::rescale(random::uniform(), 0, 1,-2.5, 2.5);
DEBUG("error: %f, %f, %f, %f",BezierN[0][0],BezierN[0][1],BezierN[0][2],BezierN[0][3]);
BezierN[1][0] = BezierN[0][3]; // B Knot
BezierN[1][1] = BezierN[0][3] - (BezierN[0][2] - BezierN[0][3]); // Bc Handle
BezierN[1][2] = rescale(random::uniform(), 0, 1,-2.5, 2.5); // Cb Handle
BezierN[1][3] = rescale(random::uniform(), 0, 1,-2.5, 2.5); // C Knot
BezierN[2][0] = BezierN[1][3]; // C Knot
BezierN[2][1] = BezierN[1][3] - (BezierN[1][2] - BezierN[1][3]); // Cd Handle
BezierN[2][2] = rescale(random::uniform(), 0, 1,-2.5, 2.5); // Dc Handle
BezierN[2][3] = rescale(random::uniform(), 0, 1,-2.5, 2.5); // D Knot
BezierN[3][0] = BezierN[2][3]; // D Knot
BezierN[3][1] = BezierN[2][3] - (BezierN[2][2] - BezierN[2][3]); // Da Handle
BezierN[3][2] = BezierN[0][0] - (BezierN[0][1] - BezierN[0][0]); // Ad Handle
BezierN[3][3] = BezierN[0][0]; // A Knot
return BezierN;
}