require 'symengine' x = SymEngine::Symbol.new('x') p = SymEngine::Symbol.new('p') half = Rational('1/2') fp = 9*((x**2 + p)**half)/((x**2)+2) fp.to_s answer = fp.diff(x) answer.to_s