The tests were the wrong way round.
 
   | Expr_increases v ->
     let prev_value, curr_value = get_prev_curr_value job variables v in
-    if compare_values prev_value curr_value > 0 then
+    if compare_values prev_value curr_value < 0 then
       T_bool true
     else
       T_bool false
 
   | Expr_decreases v ->
     let prev_value, curr_value = get_prev_curr_value job variables v in
-    if compare_values prev_value curr_value < 0 then
+    if compare_values prev_value curr_value > 0 then
       T_bool true
     else
       T_bool false