return false if calculate_variant failed