diff --git a/CMake/config.h.in b/CMake/config.h.in
index 15827eda08ca08e9dfb3a9763dc07234aa945dfe..0d5c2a2b3403cb06e486736e8459b4b17d5cdfc4 100644
--- a/CMake/config.h.in
+++ b/CMake/config.h.in
@@ -70,4 +70,4 @@
 #cmakedefine HAVE_HMAT
 #cmakedefine HAVE_CHAMELEON
 #cmakedefine HAVE_HLIBPRO
-#cmakedefine HAVE_COMPOSE
+#cmakedefine HAVE_COMPOSYX
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 2ccdccabe015077cc81b414aa63c4b89cb66d464..c309ecf70b9b59860fad0ee92bb9046d9950c3c2 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -140,12 +140,12 @@ if ( NOT TARGET MAPHYSPP::maphyspp )
   find_package(maphyspp)
   if(maphyspp_FOUND)
     message(STATUS "Found maphys++")
-    set(HAVE_COMPOSE TRUE)
+    set(HAVE_COMPOSYX TRUE)
     set(CMAKE_CXX_STANDARD 20)
     set(CMAKE_CXX_STANDARD_REQUIRED ON)
   endif()
 else()
-  set(HAVE_COMPOSE TRUE)
+  set(HAVE_COMPOSYX TRUE)
 endif()
 
 # ========================
diff --git a/include/main.h b/include/main.h
index a91931209897010cc0201a0edb5ab32d8598547a..c6644ed3d512fde69902591c4a880e42a43a444c 100644
--- a/include/main.h
+++ b/include/main.h
@@ -145,8 +145,8 @@ enum algo {
   _gemvHCHAMELEON,
   _gemmHCHAMELEON,
   _solveHCHAMELEON,
-  _gemvCOMPOSE,
-  _solveCOMPOSE
+  _gemvCOMPOSYX,
+  _solveCOMPOSYX
 } ;
 
 /*! \brief  Algorithms that we want to test. */
@@ -286,7 +286,7 @@ int testCHAMELEON(double * relative_error);
 int testHLIBPRO(double * relative_error);
 int initHLIBPRO(int* argc, char*** argv) ;
 int testHCHAMELEON(double * relative_error);
-int testCOMPOSE(double * relative_error);
+int testCOMPOSYX(double * relative_error);
 
 #ifdef HAVE_CHAMELEON
 extern cham_flttype_t chameleonType;
diff --git a/src/compose.cpp b/src/compose.cpp
index 9856bef0fff4a36beafd2ddeb5fe0a07983e73f4..12afc6098263d8d0315cdd0bb6dcbe30d4b30b99 100644
--- a/src/compose.cpp
+++ b/src/compose.cpp
@@ -1,5 +1,5 @@
 #include "main.h"
 
-#if defined(HAVE_COMPOSE)
+#if defined(HAVE_COMPOSYX)
 
-#endif // defined(HAVE_COMPOSE)
+#endif // defined(HAVE_COMPOSYX)
diff --git a/src/help.c b/src/help.c
index 1ff6e60fb7facaa398fdb27d2a001c9b08951208..7345abc7088950d87803a5c8298db8f575022c9a 100644
--- a/src/help.c
+++ b/src/help.c
@@ -64,11 +64,11 @@ int printHelp() {
        #else
          "     HLIBPRO solver support not available.\n"
        #endif
-       #ifdef HAVE_COMPOSE
-         "     -gemvcompose: gemv COMPOSE.\n"
-         "     -solvecompose: solve COMPOSE.\n"
+       #ifdef HAVE_COMPOSYX
+         "     -gemvcomposyx: gemv COMPOSYX.\n"
+         "     -solvecomposyx: solve COMPOSYX.\n"
        #else
-         "     COMPOSE solver support not available.\n"
+         "     COMPOSYX solver support not available.\n"
        #endif
          "\n"
        #ifdef HAVE_HMAT
@@ -129,8 +129,8 @@ int printHelp() {
          "     --hlibpro-ncpus: Number of CPUs (default is OMP_NUM_THREADS if it is set, 12 otherwise)\n"
          "\n"
        #endif
-       #ifdef HAVE_COMPOSE
-	 // Options for compose
+       #ifdef HAVE_COMPOSYX
+	 // Options for composyx
 	 //"\n"
        #endif
          "     -h/--help: Display this help\n\n");
diff --git a/src/main.c b/src/main.c
index 6d8ad0853116e49058a00440858efb61f0d3ea8a..5ea76793ccd0d4f9f991339aa425473ec9779534 100644
--- a/src/main.c
+++ b/src/main.c
@@ -100,13 +100,13 @@ int main(int argc, char **argv) {
     testedAlgo = _gemvHCHAMELEON ;
     printf("Testing : gemv H-CHAMELEON.\n") ;
   }
-  if (MpfArgHasName(&argc, argv, 1, "-gemvcompose") > 0) {
-    testedAlgo = _gemvCOMPOSE ;
-    printf("Testing : gemv COMPOSE.\n") ;
+  if (MpfArgHasName(&argc, argv, 1, "-gemvcomposyx") > 0) {
+    testedAlgo = _gemvCOMPOSYX ;
+    printf("Testing : gemv COMPOSYX.\n") ;
   }
-  if (MpfArgHasName(&argc, argv, 1, "-solvecompose") > 0) {
-    testedAlgo = _solveCOMPOSE ;
-    printf("Testing : solve COMPOSE.\n") ;
+  if (MpfArgHasName(&argc, argv, 1, "-solvecomposyx") > 0) {
+    testedAlgo = _solveCOMPOSYX ;
+    printf("Testing : solve COMPOSYX.\n") ;
   }
   if (MpfArgHasName(&argc, argv, 1, "-solvehchameleon") > 0) {
     testedAlgo = _solveHCHAMELEON ;
@@ -131,8 +131,8 @@ int main(int argc, char **argv) {
     case _solveHCHAMELEON: // Add "--chameleon" in the command line if it is not yet there
       if (!MpfArgHasName(&argc, argv, 0, "--chameleon")) argv[argc++]="--chameleon";
       break;
-    case _gemvCOMPOSE:
-    case _solveCOMPOSE:
+    case _gemvCOMPOSYX:
+    case _solveCOMPOSYX:
       // nothing
     break;
     case _undefined:
@@ -169,8 +169,8 @@ int main(int argc, char **argv) {
 #endif
       ierr = init_hmat_interface(); CHKERRQ(ierr);
       break;
-    case _gemvCOMPOSE:
-    case _solveCOMPOSE:
+    case _gemvCOMPOSYX:
+    case _solveCOMPOSYX:
     break;
   case _undefined:
     default:
@@ -385,9 +385,9 @@ int main(int argc, char **argv) {
     case _solveHCHAMELEON:
       ierr = testHCHAMELEON(&relative_error); CHKERRQ(ierr);
       break;
-    case _gemvCOMPOSE:
-    case _solveCOMPOSE:
-      ierr = testCOMPOSE(&relative_error);  CHKERRQ(ierr);
+    case _gemvCOMPOSYX:
+    case _solveCOMPOSYX:
+      ierr = testCOMPOSYX(&relative_error);  CHKERRQ(ierr);
     break;
     default:
       SETERRQ(1, "Unknown algorithm=%d", testedAlgo);
diff --git a/src/testCOMPOSE.cpp b/src/testCOMPOSE.cpp
index ba6cb3c2679f31585af5636da70c6f618270d815..d650b1f07f7b1dcbe24143d35054cc1628e29641 100644
--- a/src/testCOMPOSE.cpp
+++ b/src/testCOMPOSE.cpp
@@ -1,8 +1,8 @@
 #include "main.h"
 
-/*! \brief Runs the test using COMPOSE solver
+/*! \brief Runs the test using COMPOSYX solver
  */
-#if defined(HAVE_COMPOSE)
+#if defined(HAVE_COMPOSYX)
 
 char * C_PACKAGE_NAME = const_cast<char *>(PACKAGE_NAME) ;
 char * C_FILE = const_cast<char *>(__FILE__);
@@ -45,7 +45,7 @@ template<> struct nonzero_type<std::complex<float>> { using type = CnonZero; };
 template<> struct nonzero_type<std::complex<double>> { using type = ZnonZero; };
 
 template<typename Scalar>
-int testCOMPOSE_FEM(double * relative_error){
+int testCOMPOSYX_FEM(double * relative_error){
 
   using NonZero = typename nonzero_type<Scalar>::type;
 
@@ -66,7 +66,7 @@ int testCOMPOSE_FEM(double * relative_error){
   myCtx->colDim = N;
 
   temps_initial = getTime ();
-  Mpf_printf( MPI_COMM_WORLD, "\n**** Creating COMPOSE ...\n" );
+  Mpf_printf( MPI_COMM_WORLD, "\n**** Creating COMPOSYX ...\n" );
 
   int row_min = 1;
   int row_max = N;
@@ -104,16 +104,16 @@ int testCOMPOSE_FEM(double * relative_error){
 
   temps_final = getTime();
   temps_cpu = temps_final - temps_initial ;
-  Mpf_printf(MPI_COMM_WORLD,"<PERFTESTS> TpsCpuCOMPOSECreation = %f \n", temps_cpu) ;
+  Mpf_printf(MPI_COMM_WORLD,"<PERFTESTS> TpsCpuCOMPOSYXCreation = %f \n", temps_cpu) ;
 
   DenseMatrix<Scalar> B;
   DenseMatrix<Scalar> X;
-  void *solCOMPOSE = nullptr;
+  void *solCOMPOSYX = nullptr;
 
   switch(testedAlgo){
-  case _gemvCOMPOSE:
+  case _gemvCOMPOSYX:
 
-    Mpf_printf(MPI_COMM_WORLD, "\n**** Computing COMPOSE product...\n") ;
+    Mpf_printf(MPI_COMM_WORLD, "\n**** Computing COMPOSYX product...\n") ;
     temps_initial = getTime();
 
     if (simplePrec)
@@ -121,8 +121,8 @@ int testCOMPOSE_FEM(double * relative_error){
 
     B = DenseMatrix<Scalar>::view(N, nbRHS, (Scalar*) rhs, N);
 
-    solCOMPOSE = MpfCalloc(vectorSize, sizeof(D_type)) ; C_CHKPTRQ(solCOMPOSE) ;
-    X = DenseMatrix<Scalar>::view(N, nbRHS, (Scalar*) solCOMPOSE, N);
+    solCOMPOSYX = MpfCalloc(vectorSize, sizeof(D_type)) ; C_CHKPTRQ(solCOMPOSYX) ;
+    X = DenseMatrix<Scalar>::view(N, nbRHS, (Scalar*) solCOMPOSYX, N);
 
     X = A * B;
 
@@ -130,26 +130,26 @@ int testCOMPOSE_FEM(double * relative_error){
     temps_cpu = temps_final - temps_initial ;
 
     if (simplePrec) {
-      simpleToDouble(solCOMPOSE, vectorSize);
+      simpleToDouble(solCOMPOSYX, vectorSize);
       simpleToDouble(rhs, vectorSize);
     }
 
-    Mpf_printf(MPI_COMM_WORLD,"<PERFTESTS> TpsCpuGEMVCOMPOSE= %f \n", temps_cpu) ;
+    Mpf_printf(MPI_COMM_WORLD,"<PERFTESTS> TpsCpuGEMVCOMPOSYX= %f \n", temps_cpu) ;
 
     // Compare les 2 produits matrice-vecteur
 
     Mpf_printf(MPI_COMM_WORLD, "\n**** Comparing results...\n") ;
-    ierr=computeRelativeError(solCOMPOSE, solCLA, relative_error); C_CHKERRQ(ierr);
+    ierr=computeRelativeError(solCOMPOSYX, solCLA, relative_error); C_CHKERRQ(ierr);
 
     Mpf_printf(MPI_COMM_WORLD, "<PERFTESTS> Error = %.4e \n", *relative_error);
 
-    if(solCOMPOSE) MpfFree(solCOMPOSE);
+    if(solCOMPOSYX) MpfFree(solCOMPOSYX);
 
     break;
 
-  case _solveCOMPOSE:
+  case _solveCOMPOSYX:
     {
-      Mpf_printf(MPI_COMM_WORLD, "\n\n**** Factorizing COMPOSE Mat...\n") ;
+      Mpf_printf(MPI_COMM_WORLD, "\n\n**** Factorizing COMPOSYX Mat...\n") ;
       temps_initial = getTime();
 
       Pastix<SparseMatrixCOO<Scalar>, DenseMatrix<Scalar>> solver(A);
@@ -167,7 +167,7 @@ int testCOMPOSE_FEM(double * relative_error){
       temps_final = getTime();
       temps_cpu = temps_final - temps_initial;
 
-      Mpf_printf(MPI_COMM_WORLD,"<PERFTESTS> TpsCpuCOMPOSEFacto = %f \n", temps_cpu) ;
+      Mpf_printf(MPI_COMM_WORLD,"<PERFTESTS> TpsCpuCOMPOSYXFacto = %f \n", temps_cpu) ;
       temps_initial = getTime();
 
       if (simplePrec)
@@ -175,8 +175,8 @@ int testCOMPOSE_FEM(double * relative_error){
 
       B = DenseMatrix<Scalar>::view(N, nbRHS, (Scalar*) solCLA, N);
 
-      solCOMPOSE = MpfCalloc(vectorSize, sizeof(D_type)) ; C_CHKPTRQ(solCOMPOSE) ;
-      X = DenseMatrix<Scalar>::view(N, nbRHS, (Scalar*) solCOMPOSE, N);
+      solCOMPOSYX = MpfCalloc(vectorSize, sizeof(D_type)) ; C_CHKPTRQ(solCOMPOSYX) ;
+      X = DenseMatrix<Scalar>::view(N, nbRHS, (Scalar*) solCOMPOSYX, N);
 
       X = solver * B;
 
@@ -184,13 +184,13 @@ int testCOMPOSE_FEM(double * relative_error){
       temps_cpu = temps_final - temps_initial;
 
       if (simplePrec) {
-	simpleToDouble(solCOMPOSE, vectorSize);
+	simpleToDouble(solCOMPOSYX, vectorSize);
       }
 
-      Mpf_printf(MPI_COMM_WORLD,"<PERFTESTS> TpsCpuSolveCOMPOSE = %f \n", temps_cpu);
-      // Compare the two vectors solCOMPOSE and rhs
+      Mpf_printf(MPI_COMM_WORLD,"<PERFTESTS> TpsCpuSolveCOMPOSYX = %f \n", temps_cpu);
+      // Compare the two vectors solCOMPOSYX and rhs
       Mpf_printf(MPI_COMM_WORLD, "\n**** Comparing results...\n") ;
-      ierr=computeRelativeError(solCOMPOSE, rhs, relative_error) ; C_CHKERRQ(ierr) ;
+      ierr=computeRelativeError(solCOMPOSYX, rhs, relative_error) ; C_CHKERRQ(ierr) ;
       Mpf_printf(MPI_COMM_WORLD, "<PERFTESTS> Error = %.4e \n", *relative_error);
     }
 
@@ -203,7 +203,7 @@ int testCOMPOSE_FEM(double * relative_error){
 }
 
 template<typename Scalar>
-int testCOMPOSE_BEM(double * relative_error){
+int testCOMPOSYX_BEM(double * relative_error){
 
   int ierr = 0;
   double temps_initial, temps_final, temps_cpu;
@@ -223,7 +223,7 @@ int testCOMPOSE_BEM(double * relative_error){
   myCtx->colDim = N;
 
   temps_initial = getTime ();
-  Mpf_printf( MPI_COMM_WORLD, "\n**** Creating COMPOSE ...\n" );
+  Mpf_printf( MPI_COMM_WORLD, "\n**** Creating COMPOSYX ...\n" );
 
   int row_min = 1;
   int row_max = N;
@@ -254,7 +254,7 @@ int testCOMPOSE_BEM(double * relative_error){
     auto A_first_block = A.get_block_view(0, 0, nrows_show, nrows_show);
     A_first_block.display("First block 5x5");
   }
-  Mpf_printf(MPI_COMM_WORLD,"<PERFTESTS> TpsCpuCOMPOSECreation = %f \n", temps_cpu) ;
+  Mpf_printf(MPI_COMM_WORLD,"<PERFTESTS> TpsCpuCOMPOSYXCreation = %f \n", temps_cpu) ;
 
   if (computeNorm) {
     temps_initial = getTime();
@@ -266,12 +266,12 @@ int testCOMPOSE_BEM(double * relative_error){
 
   DenseMatrix<Scalar> B;
   DenseMatrix<Scalar> X;
-  void *solCOMPOSE = nullptr;
+  void *solCOMPOSYX = nullptr;
 
   switch(testedAlgo){
-  case _gemvCOMPOSE:
+  case _gemvCOMPOSYX:
 
-    Mpf_printf(MPI_COMM_WORLD, "\n**** Computing COMPOSE product...\n") ;
+    Mpf_printf(MPI_COMM_WORLD, "\n**** Computing COMPOSYX product...\n") ;
     temps_initial = getTime();
 
     if (simplePrec)
@@ -280,8 +280,8 @@ int testCOMPOSE_BEM(double * relative_error){
     B = DenseMatrix<Scalar>::view(N, nbRHS, (Scalar*) rhs, N);
     //B.display("B");
 
-    solCOMPOSE = MpfCalloc(vectorSize, sizeof(D_type)) ; C_CHKPTRQ(solCOMPOSE) ;
-    X = DenseMatrix<Scalar>::view(N, nbRHS, (Scalar*) solCOMPOSE, N);
+    solCOMPOSYX = MpfCalloc(vectorSize, sizeof(D_type)) ; C_CHKPTRQ(solCOMPOSYX) ;
+    X = DenseMatrix<Scalar>::view(N, nbRHS, (Scalar*) solCOMPOSYX, N);
 
     X = A * B;
 
@@ -289,26 +289,26 @@ int testCOMPOSE_BEM(double * relative_error){
     temps_cpu = temps_final - temps_initial ;
 
     if (simplePrec) {
-      simpleToDouble(solCOMPOSE, vectorSize);
+      simpleToDouble(solCOMPOSYX, vectorSize);
       simpleToDouble(rhs, vectorSize);
     }
 
-    Mpf_printf(MPI_COMM_WORLD,"<PERFTESTS> TpsCpuGEMVCOMPOSE= %f \n", temps_cpu) ;
+    Mpf_printf(MPI_COMM_WORLD,"<PERFTESTS> TpsCpuGEMVCOMPOSYX= %f \n", temps_cpu) ;
 
     /* Compare les 2 produits matrice-vecteur */
 
     Mpf_printf(MPI_COMM_WORLD, "\n**** Comparing results...\n") ;
-    ierr=computeRelativeError(solCOMPOSE, solCLA, relative_error); C_CHKERRQ(ierr);
+    ierr=computeRelativeError(solCOMPOSYX, solCLA, relative_error); C_CHKERRQ(ierr);
 
     Mpf_printf(MPI_COMM_WORLD, "<PERFTESTS> Error = %.4e \n", *relative_error);
 
-    if (solCOMPOSE) MpfFree(solCOMPOSE);
+    if (solCOMPOSYX) MpfFree(solCOMPOSYX);
 
     break;
 
-  case _solveCOMPOSE:
+  case _solveCOMPOSYX:
     {
-      Mpf_printf(MPI_COMM_WORLD, "\n\n**** Factorizing COMPOSE Mat...\n") ;
+      Mpf_printf(MPI_COMM_WORLD, "\n\n**** Factorizing COMPOSYX Mat...\n") ;
       temps_initial = getTime();
 
       auto solver = ~A;
@@ -317,7 +317,7 @@ int testCOMPOSE_BEM(double * relative_error){
       temps_final = getTime();
       temps_cpu = temps_final - temps_initial;
 
-      Mpf_printf(MPI_COMM_WORLD,"<PERFTESTS> TpsCpuCOMPOSEFacto = %f \n", temps_cpu) ;
+      Mpf_printf(MPI_COMM_WORLD,"<PERFTESTS> TpsCpuCOMPOSYXFacto = %f \n", temps_cpu) ;
       temps_initial = getTime();
 
       if (simplePrec)
@@ -326,8 +326,8 @@ int testCOMPOSE_BEM(double * relative_error){
       B = DenseMatrix<Scalar>::view(N, nbRHS, (Scalar*) solCLA, N);
       //B.display("B");
 
-      solCOMPOSE = MpfCalloc(vectorSize, sizeof(D_type)) ; C_CHKPTRQ(solCOMPOSE) ;
-      X = DenseMatrix<Scalar>::view(N, nbRHS, (Scalar*) solCOMPOSE, N);
+      solCOMPOSYX = MpfCalloc(vectorSize, sizeof(D_type)) ; C_CHKPTRQ(solCOMPOSYX) ;
+      X = DenseMatrix<Scalar>::view(N, nbRHS, (Scalar*) solCOMPOSYX, N);
 
       X = solver * B;
 
@@ -335,13 +335,13 @@ int testCOMPOSE_BEM(double * relative_error){
       temps_cpu = temps_final - temps_initial;
 
       if (simplePrec) {
-	simpleToDouble(solCOMPOSE, vectorSize);
+	simpleToDouble(solCOMPOSYX, vectorSize);
       }
 
-      Mpf_printf(MPI_COMM_WORLD,"<PERFTESTS> TpsCpuSolveCOMPOSE = %f \n", temps_cpu);
-      /* Compare the two vectors solCOMPOSE and rhs */
+      Mpf_printf(MPI_COMM_WORLD,"<PERFTESTS> TpsCpuSolveCOMPOSYX = %f \n", temps_cpu);
+      /* Compare the two vectors solCOMPOSYX and rhs */
       Mpf_printf(MPI_COMM_WORLD, "\n**** Comparing results...\n") ;
-      ierr=computeRelativeError(solCOMPOSE, rhs, relative_error) ; C_CHKERRQ(ierr) ;
+      ierr=computeRelativeError(solCOMPOSYX, rhs, relative_error) ; C_CHKERRQ(ierr) ;
       Mpf_printf(MPI_COMM_WORLD, "<PERFTESTS> Error = %.4e \n", *relative_error);
     }
 
@@ -353,45 +353,45 @@ int testCOMPOSE_BEM(double * relative_error){
   return 0;
 }
 
-int testCOMPOSE(double * relative_error){
+int testCOMPOSYX(double * relative_error){
 
   int ierr;
 
   if(testedModel == _bem){
     switch(stype) {
     case (SIMPLE_PRECISION) :
-      ierr = testCOMPOSE_BEM<float>(relative_error);
+      ierr = testCOMPOSYX_BEM<float>(relative_error);
       break ;
     case (DOUBLE_PRECISION) :
-      ierr = testCOMPOSE_BEM<double>(relative_error);
+      ierr = testCOMPOSYX_BEM<double>(relative_error);
       break ;
     case (SIMPLE_COMPLEX) :
-      ierr = testCOMPOSE_BEM<std::complex<float>>(relative_error);
+      ierr = testCOMPOSYX_BEM<std::complex<float>>(relative_error);
       break ;
     case (DOUBLE_COMPLEX) :
-      ierr = testCOMPOSE_BEM<std::complex<double>>(relative_error);
+      ierr = testCOMPOSYX_BEM<std::complex<double>>(relative_error);
       break ;
     default :
-      C_SETERRQ(1, "testCOMPOSE : unknown scalar type\n") ;
+      C_SETERRQ(1, "testCOMPOSYX : unknown scalar type\n") ;
       break ;
     }
   }
   else{ // if(testedModel == _fem)
     switch(stype) {
     case (SIMPLE_PRECISION) :
-      ierr = testCOMPOSE_FEM<float>(relative_error);
+      ierr = testCOMPOSYX_FEM<float>(relative_error);
       break ;
     case (DOUBLE_PRECISION) :
-      ierr = testCOMPOSE_FEM<double>(relative_error);
+      ierr = testCOMPOSYX_FEM<double>(relative_error);
       break ;
     case (SIMPLE_COMPLEX) :
-      ierr = testCOMPOSE_FEM<std::complex<float>>(relative_error);
+      ierr = testCOMPOSYX_FEM<std::complex<float>>(relative_error);
       break ;
     case (DOUBLE_COMPLEX) :
-      ierr = testCOMPOSE_FEM<std::complex<double>>(relative_error);
+      ierr = testCOMPOSYX_FEM<std::complex<double>>(relative_error);
       break ;
     default :
-      C_SETERRQ(1, "testCOMPOSE : unknown scalar type\n") ;
+      C_SETERRQ(1, "testCOMPOSYX : unknown scalar type\n") ;
       break ;
     }
   }
@@ -399,6 +399,6 @@ int testCOMPOSE(double * relative_error){
   return ierr;
 }
 
-#else // HAVE_COMPOSE not defined
-  int testCOMPOSE(double *){ return 0; }
-#endif // defined(HAVE_COMPOSE)
+#else // HAVE_COMPOSYX not defined
+  int testCOMPOSYX(double *){ return 0; }
+#endif // defined(HAVE_COMPOSYX)