/**
 * @file lib.h
 * @author Ernesto Casablanca (casablancaernesto@gmail.com)
 * @copyright 2024
 * @licence Apache-2.0 license
 */
#pragma once

/**
 * @brief Add two integers, @verb{a} and @verb{b}
 *
 * Who knows what the result will be?
 * @note This function is very complex. Use it with caution.
 * @warning The result can be greater than the maximum value that can be stored!
 * @param a First integer
 * @param b Second integer
 * @return Sum of a and b
 */
int add(int a, int b);