Index: kernel/include/IMP/Particle.h
===================================================================
--- kernel/include/IMP/Particle.h	(revision 481)
+++ kernel/include/IMP/Particle.h	(working copy)
@@ -38,8 +38,10 @@
 
 inline std::ostream &operator<<(std::ostream &out, const FloatData &d)
 {
-  out << d.value << ": " << d.derivative;
-  if (d.is_optimized) out << "(opt)";
+  out << d.value;
+  if (d.is_optimized) {
+    out << " (" << d.derivative << ")";
+  }
   return out;
 }
 
@@ -200,6 +202,9 @@
 
   //! Show the particle
   /** \param[in] out Stream to write particle description to.
+
+      All the attributes are shown. In addition, the deriviatives of the
+      optimized attributes are printed.
    */
   void show(std::ostream& out = std::cout) const;
 
@@ -336,7 +341,7 @@
 {
   IMP_check(get_is_active(), "Do not touch inactive particles",
             InactiveParticleException());
-  IMP_assert(value==value, "Can't add NaN to derivative");
+  IMP_assert(value==value, "Can't add NaN to derivative in particle " << *this);
   float_indexes_.get_value(name).derivative+= da(value);
 }