T3
#define ARIA_ADD_ROUND_KEY(RK, T0, T1, T2, T3) \
(T3) ^= (RK)->u[3]; \
#define ARIA_SBOX_LAYER1_WITH_PRE_DIFF(T0, T1, T2, T3) \
(T3) = S1[GET_U8_BE(T3, 0)] ^ S2[GET_U8_BE(T3, 1)] ^ X1[GET_U8_BE(T3, 2)] ^ X2[GET_U8_BE(T3, 3)]; \
#define ARIA_SBOX_LAYER2_WITH_PRE_DIFF(T0, T1, T2, T3) \
(T3) = X1[GET_U8_BE(T3, 0)] ^ X2[GET_U8_BE(T3, 1)] ^ S1[GET_U8_BE(T3, 2)] ^ S2[GET_U8_BE(T3, 3)]; \
#define ARIA_DIFF_WORD(T0, T1, T2, T3) \
(T2) ^= (T3); \
(T3) ^= (T1); \
#define ARIA_DIFF_BYTE(T0, T1, T2, T3) \
(T3) = bswap32(T3); \
#define ARIA_SUBST_DIFF_ODD(T0, T1, T2, T3) \
ARIA_SBOX_LAYER1_WITH_PRE_DIFF(T0, T1, T2, T3); \
ARIA_DIFF_WORD(T0, T1, T2, T3); \
ARIA_DIFF_BYTE(T0, T1, T2, T3); \
ARIA_DIFF_WORD(T0, T1, T2, T3); \
#define ARIA_SUBST_DIFF_EVEN(T0, T1, T2, T3) \
ARIA_SBOX_LAYER2_WITH_PRE_DIFF(T0, T1, T2, T3); \
ARIA_DIFF_WORD(T0, T1, T2, T3); \
ARIA_DIFF_BYTE(T2, T3, T0, T1); \
ARIA_DIFF_WORD(T0, T1, T2, T3); \
static const u8 T3[] = {
T3 = 0x1.5555555555555555555555555553p-2L,
r += T3 * s;
T3 = 0.03125;
if (x < T3) {
T3 = 0.333333333333333333180L, /* 0xaaaaaaaaaaaaaaa5.0p-65 */
r += T3 * s;
T3*(x2*x) + x);
T3*(x2*x) + x);
RETURNI(q + T3*(x2*x) + x);
T3 = -3.33333333333333333333333333333332980e-1L, /* -0x1555555555555555555555555554e.0p-114L */