// a = a + b
o0 = *va0 + *vb0;
o1 = *va1 + *vb1;
- if (*va0 > 0xFFFFFFFFu - *vb0) {
- o1 = o1 + 1u;
- }
+ o1 = o1 + select(0u, 1u, o0 < *va0);
*va0 = o0;
*va1 = o1;
// a = a + m[sigma[r][2*i+0]]
o0 = *va0 + mx0;
o1 = *va1 + mx1;
- if (*va0 > 0xFFFFFFFFu - mx0) {
- o1 = o1 + 1u;
- }
+ o1 = o1 + select(0u, 1u, o0 < *va0);
*va0 = o0;
*va1 = o1;
// c = c + d
o0 = *vc0 + *vd0;
o1 = *vc1 + *vd1;
- if (*vc0 > 0xFFFFFFFFu - *vd0) {
- o1 = o1 + 1u;
- }
+ o1 = o1 + select(0u, 1u, o0 < *vc0);
*vc0 = o0;
*vc1 = o1;
// a = a + b
o0 = *va0 + *vb0;
o1 = *va1 + *vb1;
- if (*va0 > 0xFFFFFFFFu - *vb0) {
- o1 = o1 + 1u;
- }
+ o1 = o1 + select(0u, 1u, o0 < *va0);
*va0 = o0;
*va1 = o1;
// a = a + m[sigma[r][2*i+1]]
o0 = *va0 + my0;
o1 = *va1 + my1;
- if (*va0 > 0xFFFFFFFFu - my0) {
- o1 = o1 + 1u;
- }
+ o1 = o1 + select(0u, 1u, o0 < *va0);
*va0 = o0;
*va1 = o1;
// c = c + d
o0 = *vc0 + *vd0;
o1 = *vc1 + *vd1;
- if (*vc0 > 0xFFFFFFFFu - *vd0) {
- o1 = o1 + 1u;
- }
+ o1 = o1 + select(0u, 1u, o0 < *vc0);
*vc0 = o0;
*vc1 = o1;