blob: d8854468df4acfd6c696e448a275d6e9834e0cd2 [file] [log] [blame]
/* { dg-do compile } */
/* { dg-additional-options "-Ofast" } */
typedef struct {
double real;
double imag;
} complex;
typedef struct {
complex e[3][3];
} su3_matrix;
su3_matrix check_su3_c;
double check_su3_ar, check_su3_ari, check_su3_max;
int arireturn();
int check_su3() {
check_su3_ar = check_su3_c.e[0][0].real * check_su3_c.e[1][0].real +
check_su3_c.e[0][0].imag * check_su3_c.e[1][0].imag +
check_su3_c.e[0][1].real * check_su3_c.e[1][1].real +
check_su3_c.e[0][1].imag * check_su3_c.e[1][1].imag +
check_su3_c.e[0][2].real * check_su3_c.e[1][2].real +
check_su3_c.e[0][2].imag * check_su3_c.e[1][2].imag;
check_su3_max = check_su3_c.e[0][0].real * check_su3_c.e[2][0].real +
check_su3_c.e[0][0].imag * check_su3_c.e[2][0].imag +
check_su3_c.e[0][1].real * check_su3_c.e[2][1].real +
check_su3_c.e[0][1].imag * check_su3_c.e[2][1].imag +
check_su3_c.e[0][2].real * check_su3_c.e[2][2].real +
check_su3_c.e[0][2].imag * check_su3_c.e[2][2].imag;
check_su3_ari = check_su3_ar;
if (check_su3_ari)
check_su3_max = check_su3_c.e[1][0].real * check_su3_c.e[2][0].real +
check_su3_c.e[1][0].imag * check_su3_c.e[2][0].imag +
check_su3_c.e[1][1].real * check_su3_c.e[2][1].real +
check_su3_c.e[1][1].imag * check_su3_c.e[2][1].imag +
check_su3_c.e[1][2].real * check_su3_c.e[2][2].real +
check_su3_c.e[1][2].imag * check_su3_c.e[2][2].imag;
if (check_su3_max)
arireturn();
return 0;
}