diff --git flower/include/interval.hh flower/include/interval.hh
--- flower/include/interval.hh
+++ flower/include/interval.hh
@@ -89,6 +89,7 @@ struct Interval_t : public Drul_array<T>
   Interval_t (T m, T M) : Drul_array<T> (m, M)
   {
   }
+
   Interval_t<T> &operator -= (T r)
   {
     *this += -r;
@@ -97,15 +98,16 @@ struct Interval_t : public Drul_array<T>
 
   Interval_t<T> &operator += (T r)
   {
-    at (LEFT) += r;
+    at (LEFT)  += r;
     at (RIGHT) += r;
     return *this;
   }
+
   Interval_t<T> &operator *= (T r)
   {
     if (!is_empty ())
       {
-    at (LEFT) *= r;
+    at (LEFT)  *= r;
     at (RIGHT) *= r;
     if (r < T (0))
       swap ();
@@ -113,6 +115,18 @@ struct Interval_t : public Drul_array<T>
     return *this;
   }
 
+  Interval_t<T> &operator /= (T r)
+  {
+    if (!is_empty ())
+      {
+        at (LEFT)  /= r;
+        at (RIGHT) /= r;
+        if (r < T (0))
+          swap ();
+      }
+    return *this;
+  }
+
   Real linear_combination (Real x) const;
   string to_string () const;
 
@@ -139,7 +153,7 @@ struct Interval_t : public Drul_array<T>
 };
 
 /**
-   inclusion ordering. Crash if not  comparable.
+   inclusion ordering. Crash if not comparable.
 */
 template<class T>
 int Interval__compare (const Interval_t<T> &, Interval_t<T> const &);
diff --git flower/include/offset.hh flower/include/offset.hh
--- flower/include/offset.hh
+++ flower/include/offset.hh
@@ -80,6 +80,7 @@ public:
   Offset &operator /= (Real a)
   {
     (*this) *= 1/a;
+
     return *this;
   }
 
diff --git flower/offset.cc flower/offset.cc
--- flower/offset.cc
+++ flower/offset.cc
@@ -58,7 +58,7 @@ complex_divide (Offset z1, Offset z2)
 {
   z2 = complex_conjugate (z2);
   Offset z = complex_multiply (z1, z2);
-  z *= 1 / z2.length ();
+  z /= z2.length ();
   return z;
 }
 
diff --git lily/arpeggio.cc lily/arpeggio.cc
--- lily/arpeggio.cc
+++ lily/arpeggio.cc
@@ -83,7 +83,7 @@ Arpeggio::calc_positions (SCM grob)
       heads.unite (iv + staff_y - my_y);
     }
 
-  heads *= 1 / Staff_symbol_referencer::staff_space (me);
+  heads /= Staff_symbol_referencer::staff_space (me);
 
   return ly_interval2scm (heads);
 }
diff --git lily/ledger-line-spanner.cc lily/ledger-line-spanner.cc
--- lily/ledger-line-spanner.cc
+++ lily/ledger-line-spanner.cc
@@ -17,9 +17,6 @@
   along with LilyPond.  If not, see <http://www.gnu.org/licenses/>.
 */
 
-#include <map>
-using namespace std;
-
 #include "note-head.hh"
 #include "staff-symbol-referencer.hh"
 #include "staff-symbol.hh"
@@ -28,6 +25,10 @@ using namespace std;
 #include "pointer-group-interface.hh"
 #include "paper-column.hh"
 
+#include <map>
+
+using namespace std;
+
 struct Ledger_line_spanner
 {
   DECLARE_SCHEME_CALLBACK (print, (SCM));
@@ -145,8 +146,8 @@ Ledger_line_spanner::set_spacing_rods (SCM smob)
   Real halfspace = Staff_symbol::staff_space (staff) / 2;
 
   Interval staff_extent = staff->extent (staff, Y_AXIS);
-  staff_extent *= 1 / halfspace;
-    
+  staff_extent /= halfspace;
+
   /*
     Run through heads using a loop. Since Ledger_line_spanner can
     contain a lot of noteheads, superlinear performance is too slow.
@@ -230,8 +231,8 @@ Ledger_line_spanner::print (SCM smob)
   Real halfspace = Staff_symbol::staff_space (staff) / 2;
 
   Interval staff_extent = staff->extent (staff, Y_AXIS);
-  staff_extent *= 1 / halfspace;
-  
+  staff_extent /= halfspace;
+
   Real length_fraction
     = robust_scm2double (me->get_property ("length-fraction"), 0.25);
 
diff --git lily/slur-configuration.cc lily/slur-configuration.cc
--- lily/slur-configuration.cc
+++ lily/slur-configuration.cc
@@ -113,7 +113,7 @@ Slur_configuration::generate_curve (Slur_score_state const &state,
 {
   Offset dz = attachment_[RIGHT]- attachment_[LEFT];;
   Offset dz_unit = dz;
-  dz_unit *= 1 / dz.length ();
+  dz_unit /= dz.length ();
   Offset dz_perp = dz_unit * Offset (0, 1);
 
   Real indent, height;
