added quartic solve fn