print(sprintf("number of occurrences where EASY consumes less power than any other EASY+powercap predictors: %d/%d",nrow(instances_where_some_mean_power_is_NOT_below_EASY),nrow(against_zero)))
print(sprintf("number of occurrences where upper_bound consumes more power than any other EASY+powercap predictors: %d/%d",nrow(instances_where_some_mean_power_is_NOT_above_upper_bound),nrow(against_zero)))
print(sprintf("number of occurrences where mean consumes more power than max/real_max: %d/%d",nrow(instances_where_some_max_power_is_NOT_below_mean),nrow(against_mean)))
y="Distribution of the energy consumed during the constrained period for each simulation (GJ).\nComputed as the integral of the dynamic power minus the dynamic powercap value."
y="Distribution of the surplus energy consumed during the constrained period for each simulation (GJ).\nComputed as the integral of the dynamic power minus the dynamic powercap value, only keeping positive values."
y="Distribution of the unused energy consumed during the constrained period for each simulation (GJ).\nComputed as the integral of the dynamic power minus the dynamic powercap value, only keeping negative values."