# to define the expressions
f <- function(x, y) {
  x * y / (x^2 + y^2)
}

# Path: y = mx
limit_along_m <- function(m) {
  m / (1 + m^2)
}

# Path: y = x^2
limit_along_x2 <- function(x) {
  x^3 / (x^2 * (1 + x^2))
}

# to evaluate the limits
m_value <- 2  # Example value for m
x_value <- 0.01  # Example value for x

result_along_m <- limit_along_m(m_value)
result_along_x2 <- limit_along_x2(x_value)

# to print the results
cat("Limit along y = mx (m =", m_value, "):", result_along_m, "\n")
## Limit along y = mx (m = 2 ): 0.4
cat("Limit along y = x^2 (x =", x_value, "):", result_along_x2, "\n")
## Limit along y = x^2 (x = 0.01 ): 0.009999