# ADDs: n_iter * n_p * 11 + # n_iter * n_p * (n_p - 1) * 14 + # n_iter * n_p * board.n_obstacles * 12 # MULTs: n_iter * n_p * 21 + # n_iter * n_p * (n_p - 1) * 24 + # n_iter * n_p * board.n_obstacles * 19 # DIVs: n_iter * n_p * 2 + # n_iter * n_p * (n_p - 1) + # n_iter * n_p * board.n_obstacles # SQRTs: n_iter * n_p * 3 + # n_iter * n_p * (n_p - 1) * 3 + # n_iter * n_p * board.n_obstacles # EXPs: n_iter * n_p * (n_p - 1) + # n_iter * n_p * board.n_obstacles def adds(n_iter: int, n_p: int, n_obs: int = 2) -> int: return int(n_iter * n_p * (11 + (n_p - 1) * 14 + n_obs * 12)) def mults(n_iter: int, n_p: int, n_obs: int = 2) -> int: return int(n_iter * n_p * (21 + (n_p - 1) * 24 + n_obs * 19)) def divs(n_iter: int, n_p: int, n_obs: int = 2) -> int: return int(n_iter * n_p * (2 + (n_p - 1) + n_obs)) def sqrts(n_iter: int, n_p: int, n_obs: int = 2) -> int: return int(n_iter * n_p * (3 + (n_p - 1) * 3 + n_obs)) def exps(n_iter: int, n_p: int, n_obs: int = 2) -> int: return int(n_iter * n_p * ((n_p - 1) + n_obs)) def total(n_iter: int, n_p: int, n_obs: int = 2) -> int: return adds(n_iter, n_p, n_obs) + mults(n_iter, n_p, n_obs) + divs( n_iter, n_p, n_obs) + sqrts(n_iter, n_p, n_obs) + exps(n_iter, n_p, n_obs) * 30