void kalmanRoll(float *ym1, float *ym2, float *xH_1, float *xH_2, float *dt){
float xS_1, xS_2;
float pS_11, pS_12,
float pS_21, pS_22;
float lS_11, lS_12;
float lS_21, lS_22;
static float pH_11=1;
static float pH_12=0;
static float pH_21=0;
static float pH_22=1;
xS_1 = *xH_1+*dt**xH_2;
xS_2 = *xH_2;
pS_11 = pH_11+*dt*pH_21+*dt*(pH_12+*dt*pH_22)+1.0E-4;
pS_12 = pH_12+*dt*pH_22;
pS_21 = pH_21+*dt*pH_22;
pS_22 = pH_22+1.0E-4;
lS_11 = -(pS_12*pS_21*1.0-pS_11*(pS_22+2.0E1))/(pS_22*2.0E1-pS_12*pS_21*1.0+pS_11*(pS_22+2.0E1)+4.0E2);
lS_12 = (pS_12*2.0E1)/(pS_22*2.0E1-pS_12*pS_21*1.0+pS_11*(pS_22+2.0E1)+4.0E2);
lS_21 = (pS_21*2.0E1)/(pS_22*2.0E1-pS_12*pS_21*1.0+pS_11*(pS_22+2.0E1)+4.0E2);
lS_22 = (pS_22*2.0E1+pS_11*pS_22-pS_12*pS_21*1.0)/(pS_22*2.0E1-pS_12*pS_21*1.0+pS_11*(pS_22+2.0E1)+4.0E2);
*xH_1 = lS_12*(xS_2-*ym2*1.0)*-1.0-xS_1*(lS_11*1.0-1.0)+lS_11**ym1*1.0;
*xH_2 = xS_2-lS_22*(xS_2-*ym2*1.0)*1.0-lS_21*xS_1*1.0+lS_21**ym1*1.0;
pH_11 = lS_12*pS_21*-1.0-pS_11*(lS_11*1.0-1.0);
pH_12 = lS_12*pS_22*-1.0-pS_12*(lS_11-1.0)*1.0;
pH_21 = lS_21*pS_11*-1.0-pS_21*(lS_22-1.0)*1.0;
pH_22 = lS_21*pS_12*-1.0-pS_22*(lS_22-1.0)*1.0;
}