If georeferencing is not important to you, you can simply do it with matplotlib.
import matplotlib.pyplot as plt
red = plt.imread('path/to/Red_channel.tif')
blue = plt.imread('path/to/Blue_channel.tif')
result = red + blue**3 + 4 + red**0.5
plt.imsave('path/to/Output.tif', result)
If you want to maintain the georeferencing you should use rasterio instead.
import rasterio
with rasterio.open('path/to/Red_channel.tif') as f:
red = f.read()
profile = f.profile
with rasterio.open('path/to/Blue_channel.tif') as f:
blue = f.read()
result = red + blue**3 + 4 + red**0.5
with rasterio.open('path/to/Output.tif', 'w', **profile) as dst:
dst.write(result)