added code to propagate poison to values derived from poisoned values