JuliaSymbolics / SymbolicUtils.jl

Symbolic expressions, rewriting and simplification
https://docs.sciml.ai/SymbolicUtils/stable/
Other
524 stars 99 forks source link

Inf becomes -Inf in rational simplifier sometimes #541

Open shashi opened 10 months ago

shashi commented 10 months ago

Caught by the fuzzer

Weird bug here:
d = Dict{Any, Rational{BigInt}}(a => 1//1, d => -2//1, g => -2//3, b => -1//1, e => 5//3, c => 2//1)
r = (g - a) / (2a*(b^2 - (3//5))*(e + b^2 + 2d + 1 / (a^2))) + ((-2//1)*(a^2)*(g^2)) / (a + 1 / b) + ((1//2)*c*(a^6)*(d^2)*(1 / (a^2) - b)) / (b^4)
l = (((1//2) / a) / (d + 1 / (a^2) + b^2 + d + e)) / (((b^2) - (3//5)) / (g - a)) + ((g / (-1//2))) / ((a + 1 / b + (1//2) - (1//2)) / (g / (1 / (a^2)))) + ((e - c))*(((0//1))*((a^3) - b))*(((1 / (a^2)) - (1//2 + 2//1*im)) / ((a^3) / a))*((d + (1//2 + 2//1*im)) - ((0//1) / (1 / (a^2)))) + ((1 / b)*d*c*a)*((1 / b)*d*(1//2)*(1 / b))*((a^3))*((1 / b) / (1 / (a^2)))*((1 / (a^2)) - b)
rl = 1//0 + 0//1*im
rr = -1//0