public override HlslTreeNode Reduce() { Factor1.Outputs.Remove(this); Factor2.Outputs.Remove(this); var multiplication = new MultiplyOperation(Factor1, Factor2); var addition = new AddOperation(multiplication, Addend); Replace(addition); return(addition.Reduce()); }