infinite.
using https://en.wikipedia.org/wiki/Limit_of_a_function
TODO should these be valid, or should they always produce 'invalid'
and only Limit() produce valid operations on infinity?


simplifyAssertEq(inf, inf)
${\infty} = {\infty}$
GOOD
time: 0.203000ms
stack: size: 7
  • Init
  • Prune
  • Expand
  • Prune
  • Factor
  • Prune
  • Tidy

simplifyAssertNe(inf, -inf)
${\infty} \ne {-{\infty}}$
GOOD
time: 1.351000ms
stack: size: 14
  • Init
  • *:Prune:handleInfAndNan
  • unm:Prune:doubleNegative
  • Prune
  • Expand
  • *:Prune:handleInfAndNan
  • Prune
  • Factor
  • *:Prune:handleInfAndNan
  • Prune
  • Constant:Tidy:apply
  • *:Tidy:apply
  • *:Tidy:apply
  • Tidy

simplifyAssertNe(inf, invalid)
${\infty} \ne {¿}$
GOOD
time: 0.182000ms
stack: size: 7
  • Init
  • Prune
  • Expand
  • Prune
  • Factor
  • Prune
  • Tidy

q + inf = inf for q != -inf

simplifyAssertEq(inf + inf, inf)
${{\infty} + {\infty}} = {\infty}$
GOOD
time: 0.373000ms
stack: size: 8
  • Init
  • +:Prune:handleInfAndInvalid
  • Prune
  • Expand
  • Prune
  • Factor
  • Prune
  • Tidy

simplifyAssertEq(inf + 0, inf)
${\infty} = {\infty}$
GOOD
time: 0.037000ms
stack: size: 0

    simplifyAssertEq(inf + 1, inf)
    ${{\infty} + {1}} = {\infty}$
    GOOD
    time: 0.460000ms
    stack: size: 8
    • Init
    • +:Prune:handleInfAndInvalid
    • Prune
    • Expand
    • Prune
    • Factor
    • Prune
    • Tidy

    simplifyAssertEq(inf - 1, inf)
    ${{\infty}{-{1}}} = {\infty}$
    GOOD
    time: 0.268000ms
    stack: size: 9
    • Init
    • unm:Prune:doubleNegative
    • +:Prune:handleInfAndInvalid
    • Prune
    • Expand
    • Prune
    • Factor
    • Prune
    • Tidy

    simplifyAssertEq(inf + x + y, inf)
    ${{\infty} + {x} + {y}} = {\infty}$
    GOOD
    time: 0.343000ms
    stack: size: 8
    • Init
    • +:Prune:handleInfAndInvalid
    • Prune
    • Expand
    • Prune
    • Factor
    • Prune
    • Tidy

    q * inf = inf for q > 0 (incl q == inf)
    q * inf = -inf for q < 0 (incl q == -inf)

    simplifyAssertEq((inf * inf), inf)
    ${{{\infty}} \cdot {{\infty}}} = {\infty}$
    GOOD
    time: 0.171000ms
    stack: size: 8
    • Init
    • *:Prune:handleInfAndNan
    • Prune
    • Expand
    • Prune
    • Factor
    • Prune
    • Tidy

    simplifyAssertEq((inf * -inf), -inf)
    ${{{\infty}} \cdot {-{\infty}}} = {-{\infty}}$
    GOOD
    time: 2.207000ms
    stack: size: 14
    • Init
    • *:Prune:handleInfAndNan
    • unm:Prune:doubleNegative
    • Prune
    • Expand
    • *:Prune:handleInfAndNan
    • Prune
    • Factor
    • *:Prune:handleInfAndNan
    • Prune
    • Constant:Tidy:apply
    • *:Tidy:apply
    • *:Tidy:apply
    • Tidy

    simplifyAssertEq((inf * -1), -inf)
    ${{{\infty}} \cdot {{-1}}} = {-{\infty}}$
    GOOD
    time: 1.167000ms
    stack: size: 14
    • Init
    • *:Prune:handleInfAndNan
    • unm:Prune:doubleNegative
    • Prune
    • Expand
    • *:Prune:handleInfAndNan
    • Prune
    • Factor
    • *:Prune:handleInfAndNan
    • Prune
    • Constant:Tidy:apply
    • *:Tidy:apply
    • *:Tidy:apply
    • Tidy

    simplifyAssertEq((inf * -1 * -2), inf)
    ${{{\infty}} \cdot {{-1}} \cdot {{-2}}} = {\infty}$
    GOOD
    time: 0.403000ms
    stack: size: 8
    • Init
    • *:Prune:handleInfAndNan
    • Prune
    • Expand
    • Prune
    • Factor
    • Prune
    • Tidy

    simplifyAssertEq((inf * 1 * 2), inf)
    ${{{\infty}} \cdot {{2}}} = {\infty}$
    GOOD
    time: 0.230000ms
    stack: size: 8
    • Init
    • *:Prune:handleInfAndNan
    • Prune
    • Expand
    • Prune
    • Factor
    • Prune
    • Tidy
    TODO this should be unknown unless x is defined as a positive or negative real
    simplifyAssertEq(inf * x, inf)
    ${{{\infty}} \cdot {{x}}} = {\infty}$
    GOOD
    time: 0.131000ms
    stack: size: 8
    • Init
    • *:Prune:handleInfAndNan
    • Prune
    • Expand
    • Prune
    • Factor
    • Prune
    • Tidy

    simplifyAssertEq(inf / 2, inf)
    ${{\frac{1}{2}} {\infty}} = {\infty}$
    GOOD
    time: 0.193000ms
    stack: size: 8
    • Init
    • /:Prune:handleInfAndNan
    • Prune
    • Expand
    • Prune
    • Factor
    • Prune
    • Tidy

    0 * inf = invalid

    simplifyAssertEq(inf * 0, invalid)
    ${{{\infty}} \cdot {{0}}} = {¿}$
    GOOD
    time: 0.579000ms
    stack: size: 7
    • Init
    • Prune
    • Expand
    • Prune
    • Factor
    • Prune
    • Tidy

    simplifyAssertEq(inf / 0, invalid)
    ${¿} = {¿}$
    GOOD
    time: 0.314000ms
    stack: size: 7
    • Init
    • Prune
    • Expand
    • Prune
    • Factor
    • Prune
    • Tidy

    q / inf = 0 for q != inf and q != -inf

    simplifyAssertEq(-2 / inf, 0)
    ${\frac{-2}{\infty}} = {0}$
    GOOD
    time: 0.712000ms
    stack: size: 7
    • Init
    • Prune
    • Expand
    • Prune
    • Factor
    • Prune
    • Tidy

    simplifyAssertEq(-1 / inf, 0)
    ${\frac{-1}{\infty}} = {0}$
    GOOD
    time: 0.289000ms
    stack: size: 7
    • Init
    • Prune
    • Expand
    • Prune
    • Factor
    • Prune
    • Tidy

    simplifyAssertEq(-.5 / inf, 0)
    ${\frac{-0.5}{\infty}} = {0}$
    GOOD
    time: 0.277000ms
    stack: size: 7
    • Init
    • Prune
    • Expand
    • Prune
    • Factor
    • Prune
    • Tidy

    simplifyAssertEq(0 / inf, 0)
    ${\frac{0}{\infty}} = {0}$
    GOOD
    time: 0.293000ms
    stack: size: 7
    • Init
    • Prune
    • Expand
    • Prune
    • Factor
    • Prune
    • Tidy

    simplifyAssertEq(.5 / inf, 0)
    ${\frac{0.5}{\infty}} = {0}$
    GOOD
    time: 0.641000ms
    stack: size: 7
    • Init
    • Prune
    • Expand
    • Prune
    • Factor
    • Prune
    • Tidy

    simplifyAssertEq(1 / inf, 0)
    ${\frac{1}{\infty}} = {0}$
    GOOD
    time: 0.403000ms
    stack: size: 7
    • Init
    • Prune
    • Expand
    • Prune
    • Factor
    • Prune
    • Tidy

    simplifyAssertEq(2 / inf, 0)
    ${\frac{2}{\infty}} = {0}$
    GOOD
    time: 0.252000ms
    stack: size: 7
    • Init
    • Prune
    • Expand
    • Prune
    • Factor
    • Prune
    • Tidy

    inf^q = 0 for q < 0
    inf^q = inf for q > 0

    simplifyAssertEq(inf ^ -inf, invalid)
    ${{\infty}^{-{\infty}}} = {¿}$
    GOOD
    time: 0.378000ms
    stack: size: 7
    • Init
    • Prune
    • Expand
    • Prune
    • Factor
    • Prune
    • Tidy

    simplifyAssertEq(inf ^ -2, 0)
    ${{\infty}^{-2}} = {0}$
    GOOD
    time: 0.208000ms
    stack: size: 7
    • Init
    • Prune
    • Expand
    • Prune
    • Factor
    • Prune
    • Tidy

    simplifyAssertEq(inf ^ -1, 0)
    ${{\infty}^{-1}} = {0}$
    GOOD
    time: 0.115000ms
    stack: size: 7
    • Init
    • Prune
    • Expand
    • Prune
    • Factor
    • Prune
    • Tidy

    simplifyAssertEq(inf ^ -.5, 0)
    ${{\infty}^{-0.5}} = {0}$
    GOOD
    time: 0.190000ms
    stack: size: 7
    • Init
    • Prune
    • Expand
    • Prune
    • Factor
    • Prune
    • Tidy

    simplifyAssertEq(inf ^ 0, invalid)
    ${{\infty}^{0}} = {¿}$
    GOOD
    time: 0.106000ms
    stack: size: 7
    • Init
    • Prune
    • Expand
    • Prune
    • Factor
    • Prune
    • Tidy

    simplifyAssertEq(inf ^ .5, inf)
    ${{\infty}^{0.5}} = {\infty}$
    GOOD
    time: 0.066000ms
    stack: size: 8
    • Init
    • ^:Prune:handleInfAndNan
    • Prune
    • Expand
    • Prune
    • Factor
    • Prune
    • Tidy

    simplifyAssertEq(inf ^ 1, inf)
    ${\infty} = {\infty}$
    GOOD
    time: 0.038000ms
    stack: size: 0

      simplifyAssertEq(inf ^ 2, inf)
      ${{\infty}^{2}} = {\infty}$
      GOOD
      time: 0.157000ms
      stack: size: 8
      • Init
      • ^:Prune:handleInfAndNan
      • Prune
      • Expand
      • Prune
      • Factor
      • Prune
      • Tidy

      simplifyAssertEq(inf ^ inf, inf)
      ${{\infty}^{\infty}} = {\infty}$
      GOOD
      time: 0.253000ms
      stack: size: 8
      • Init
      • ^:Prune:handleInfAndNan
      • Prune
      • Expand
      • Prune
      • Factor
      • Prune
      • Tidy

      q^inf = 0 for 0 < q < 1
      q^inf = inf for 1 < q

      simplifyAssertEq((-2) ^ inf, invalid)
      ${{-2}^{\infty}} = {¿}$
      GOOD
      time: 0.285000ms
      stack: size: 7
      • Init
      • Prune
      • Expand
      • Prune
      • Factor
      • Prune
      • Tidy

      simplifyAssertEq((-.5) ^ inf, invalid)
      ${{-0.5}^{\infty}} = {¿}$
      GOOD
      time: 0.197000ms
      stack: size: 7
      • Init
      • Prune
      • Expand
      • Prune
      • Factor
      • Prune
      • Tidy

      simplifyAssertEq(0 ^ inf, invalid)
      ${{0}^{\infty}} = {¿}$
      GOOD
      time: 0.207000ms
      stack: size: 7
      • Init
      • Prune
      • Expand
      • Prune
      • Factor
      • Prune
      • Tidy

      simplifyAssertEq(.5 ^ inf, 0)
      ${{0.5}^{\infty}} = {0}$
      GOOD
      time: 0.220000ms
      stack: size: 7
      • Init
      • Prune
      • Expand
      • Prune
      • Factor
      • Prune
      • Tidy

      simplifyAssertEq(2 ^ inf, inf)
      ${{2}^{\infty}} = {\infty}$
      GOOD
      time: 0.159000ms
      stack: size: 8
      • Init
      • ^:Prune:handleInfAndNan
      • Prune
      • Expand
      • Prune
      • Factor
      • Prune
      • Tidy

      q^-inf = inf for 0 < q < 1
      q^-inf = 0 for 1 < q

      simplifyAssertEq((-2) ^ -inf, invalid)
      ${{-2}^{-{\infty}}} = {¿}$
      GOOD
      time: 0.661000ms
      stack: size: 7
      • Init
      • Prune
      • Expand
      • Prune
      • Factor
      • Prune
      • Tidy

      simplifyAssertEq((-.5) ^ -inf, invalid)
      ${{-0.5}^{-{\infty}}} = {¿}$
      GOOD
      time: 0.666000ms
      stack: size: 7
      • Init
      • Prune
      • Expand
      • Prune
      • Factor
      • Prune
      • Tidy

      simplifyAssertEq(0 ^ -inf, invalid)
      ${{0}^{-{\infty}}} = {¿}$
      GOOD
      time: 0.355000ms
      stack: size: 7
      • Init
      • Prune
      • Expand
      • Prune
      • Factor
      • Prune
      • Tidy

      simplifyAssertEq(.5 ^ -inf, inf)
      ${{0.5}^{-{\infty}}} = {\infty}$
      GOOD
      time: 0.381000ms
      stack: size: 10
      • Init
      • *:Prune:handleInfAndNan
      • unm:Prune:doubleNegative
      • ^:Prune:handleInfAndNan
      • Prune
      • Expand
      • Prune
      • Factor
      • Prune
      • Tidy

      simplifyAssertEq(2 ^ -inf, 0)
      ${{2}^{-{\infty}}} = {0}$
      GOOD
      time: 0.217000ms
      stack: size: 7
      • Init
      • Prune
      • Expand
      • Prune
      • Factor
      • Prune
      • Tidy

      indeterminant:

      simplifyAssertEq(Constant(0) / 0, invalid)
      ${¿} = {¿}$
      GOOD
      time: 0.225000ms
      stack: size: 7
      • Init
      • Prune
      • Expand
      • Prune
      • Factor
      • Prune
      • Tidy
      verify short-circuit doesn't interfere
      simplifyAssertEq(Constant(0) / (Constant(3) * Constant(0)), invalid)
      ${\frac{0}{{{3}} \cdot {{0}}}} = {¿}$
      GOOD
      time: 0.335000ms
      stack: size: 7
      • Init
      • Prune
      • Expand
      • Prune
      • Factor
      • Prune
      • Tidy

      simplifyAssertEq(-inf / inf, invalid)
      ${{\frac{1}{\infty}}{\left({-{\infty}}\right)}} = {¿}$
      GOOD
      time: 0.262000ms
      stack: size: 7
      • Init
      • Prune
      • Expand
      • Prune
      • Factor
      • Prune
      • Tidy

      simplifyAssertEq(inf / inf, invalid)
      ${{\frac{1}{\infty}} {\infty}} = {¿}$
      GOOD
      time: 0.167000ms
      stack: size: 7
      • Init
      • Prune
      • Expand
      • Prune
      • Factor
      • Prune
      • Tidy

      simplifyAssertEq(inf / -inf, invalid)
      ${\frac{\infty}{-{\infty}}} = {¿}$
      GOOD
      time: 0.182000ms
      stack: size: 7
      • Init
      • Prune
      • Expand
      • Prune
      • Factor
      • Prune
      • Tidy

      simplifyAssertEq(-inf / -inf, invalid)
      ${\frac{-{\infty}}{-{\infty}}} = {¿}$
      GOOD
      time: 0.797000ms
      stack: size: 7
      • Init
      • Prune
      • Expand
      • Prune
      • Factor
      • Prune
      • Tidy

      simplifyAssertEq(0 * inf, invalid)
      ${{{0}} {{\infty}}} = {¿}$
      GOOD
      time: 0.312000ms
      stack: size: 7
      • Init
      • Prune
      • Expand
      • Prune
      • Factor
      • Prune
      • Tidy

      simplifyAssertEq(0 * -inf, invalid)
      ${{{0}} \cdot {-{\infty}}} = {¿}$
      GOOD
      time: 0.243000ms
      stack: size: 7
      • Init
      • Prune
      • Expand
      • Prune
      • Factor
      • Prune
      • Tidy

      simplifyAssertEq(inf + -inf, invalid)
      ${{\infty}{-{\infty}}} = {¿}$
      GOOD
      time: 0.171000ms
      stack: size: 7
      • Init
      • Prune
      • Expand
      • Prune
      • Factor
      • Prune
      • Tidy

      simplifyAssertEq(Constant(0) ^ 0, invalid)
      ${¿} = {¿}$
      GOOD
      time: 0.090000ms
      stack: size: 7
      • Init
      • Prune
      • Expand
      • Prune
      • Factor
      • Prune
      • Tidy

      simplifyAssertEq(inf ^ 0, invalid)
      ${{\infty}^{0}} = {¿}$
      GOOD
      time: 0.179000ms
      stack: size: 7
      • Init
      • Prune
      • Expand
      • Prune
      • Factor
      • Prune
      • Tidy

      simplifyAssertEq((-1) ^ inf, invalid)
      ${{-1}^{\infty}} = {¿}$
      GOOD
      time: 0.108000ms
      stack: size: 7
      • Init
      • Prune
      • Expand
      • Prune
      • Factor
      • Prune
      • Tidy

      simplifyAssertEq((-1) ^ -inf, invalid)
      ${{-1}^{-{\infty}}} = {¿}$
      GOOD
      time: 0.210000ms
      stack: size: 7
      • Init
      • Prune
      • Expand
      • Prune
      • Factor
      • Prune
      • Tidy

      simplifyAssertEq(1 ^ inf, invalid)
      ${{1}^{\infty}} = {¿}$
      GOOD
      time: 0.124000ms
      stack: size: 7
      • Init
      • Prune
      • Expand
      • Prune
      • Factor
      • Prune
      • Tidy

      simplifyAssertEq(1 ^ -inf, invalid)
      ${{1}^{-{\infty}}} = {¿}$
      GOOD
      time: 0.205000ms
      stack: size: 7
      • Init
      • Prune
      • Expand
      • Prune
      • Factor
      • Prune
      • Tidy