diff --git a/cp-demo/executing-specs/Calendar.scala b/cp-demo/executing-specs/Calendar.scala
index 7c27f7bda79520261f5ddda02c24e51036a18dd6..a301d75732ab9c31ca554036112f40f7c24d3911 100644
--- a/cp-demo/executing-specs/Calendar.scala
+++ b/cp-demo/executing-specs/Calendar.scala
@@ -6,23 +6,13 @@ object Calendar extends App {
   final val totalDays = 10593
   final val originYear = 1980
 
-  val (year, day) = ((year : Int, day : Int) => totalDays == (year - originYear) * 365 + (year - 1) / 4 - (year - 1) / 100 + (year - 1) / 400 -
-    ((originYear - 1) / 4 - (originYear - 1) / 100 + (originYear - 1) / 400) + day &&
+  @spec def leapDaysUntil(y: Int) = (y - 1) / 4 - (y - 1) / 100 + (y - 1) / 400
+
+  val (year, day) = ((year: Int, day: Int) => 
+    totalDays == (year - originYear) * 365 + leapDaysUntil(year) - leapDaysUntil(originYear) + day &&
     day > 0 && day <= 366).solve
 
   println("Year : %d, day : %d" format (year, day))
-
-  /* alternate version with intermediate "leapDaysUntil" variables */
-
-  def yearAndDay(totalDays : Int, originYear : Int) : (Int, Int) = {
-    val (y, d, _, _) = ((year : Int, day : Int, lduYear : Int, lduOrigin : Int) => totalDays == (year - originYear) * 365 + lduYear - lduOrigin + day &&
-      lduYear == (year - 1) / 4 - (year - 1) / 100 + (year - 1) / 400 &&
-      lduOrigin == ((originYear - 1) / 4 - (originYear - 1) / 100 + (originYear - 1) / 400) &&
-      day > 0 && day <= 366).solve
-    
-    (y, d)
-  }
-  println("Second version: " + yearAndDay(totalDays, originYear))
     
 }