(test) mulfix perf
diff --git a/src/psaux/pshints.c b/src/psaux/pshints.c
index 97773d4..2aef5fd 100644
--- a/src/psaux/pshints.c
+++ b/src/psaux/pshints.c
@@ -1171,21 +1171,21 @@
     FT_Vector  pt;   /* hinted point in upright DS */
 
 
-    pt.x = ADD_INT32( FT_MulFix( glyphpath->scaleX, x ),
-                      FT_MulFix( glyphpath->scaleC, y ) );
+    pt.x = ADD_INT32( FT_MulFix( x, glyphpath->scaleX ),
+                      FT_MulFix( y, glyphpath->scaleC ) );
     pt.y = hintmap ? cf2_hintmap_map( hintmap, y )
-                   : FT_MulFix( glyphpath->scaleY, y );
+                   : FT_MulFix( y, glyphpath->scaleY );
 
 
     ppt->x = ADD_INT32(
-               FT_MulFix( glyphpath->font->outerTransform.a, pt.x ),
+               FT_MulFix( pt.x, glyphpath->font->outerTransform.a ),
                ADD_INT32(
-                 FT_MulFix( glyphpath->font->outerTransform.c, pt.y ),
+                 FT_MulFix( pt.y, glyphpath->font->outerTransform.c ),
                  glyphpath->fractionalTranslation.x ) );
     ppt->y = ADD_INT32(
-               FT_MulFix( glyphpath->font->outerTransform.b, pt.x ),
+               FT_MulFix( pt.x, glyphpath->font->outerTransform.b ),
                ADD_INT32(
-                 FT_MulFix( glyphpath->font->outerTransform.d, pt.y ),
+                 FT_MulFix( pt.y, glyphpath->font->outerTransform.d ),
                  glyphpath->fractionalTranslation.y ) );
   }
 
@@ -1580,10 +1580,10 @@
         else
         {
           /* +x +y */
-          *x = FT_MulFix( cf2_doubleToFixed( 0.7 ),
-                          glyphpath->xOffset );
-          *y = FT_MulFix( cf2_doubleToFixed( 1.0 - 0.7 ),
-                          glyphpath->yOffset );
+          *x = FT_MulFix( glyphpath->xOffset,
+                          cf2_doubleToFixed( 0.7 ) );
+          *y = FT_MulFix( glyphpath->yOffset,
+                          cf2_doubleToFixed( 1.0 - 0.7 ) );
         }
       }
       else
@@ -1605,10 +1605,10 @@
         else
         {
           /* +x -y */
-          *x = FT_MulFix( cf2_doubleToFixed( -0.7 ),
-                          glyphpath->xOffset );
-          *y = FT_MulFix( cf2_doubleToFixed( 1.0 - 0.7 ),
-                          glyphpath->yOffset );
+          *x = FT_MulFix( glyphpath->xOffset,
+                          cf2_doubleToFixed( -0.7 ) );
+          *y = FT_MulFix( glyphpath->yOffset,
+                          cf2_doubleToFixed( 1.0 - 0.7 ) );
         }
       }
     }
@@ -1633,10 +1633,10 @@
         else
         {
           /* -x +y */
-          *x = FT_MulFix( cf2_doubleToFixed( 0.7 ),
-                          glyphpath->xOffset );
-          *y = FT_MulFix( cf2_doubleToFixed( 1.0 + 0.7 ),
-                          glyphpath->yOffset );
+          *x = FT_MulFix( glyphpath->xOffset,
+                          cf2_doubleToFixed( 0.7 ) );
+          *y = FT_MulFix( glyphpath->yOffset,
+                          cf2_doubleToFixed( 1.0 + 0.7 ) );
         }
       }
       else
@@ -1658,10 +1658,10 @@
         else
         {
           /* -x -y */
-          *x = FT_MulFix( cf2_doubleToFixed( -0.7 ),
-                          glyphpath->xOffset );
-          *y = FT_MulFix( cf2_doubleToFixed( 1.0 + 0.7 ),
-                          glyphpath->yOffset );
+          *x = FT_MulFix( glyphpath->xOffset,
+                          cf2_doubleToFixed( -0.7 ) );
+          *y = FT_MulFix( glyphpath->yOffset,
+                          cf2_doubleToFixed( 1.0 + 0.7 ) );
         }
       }
     }