Check Bismuth (BIS) profitability calculations. Your default difficulty is always too low, profits too high.
Actually the block_reward default was not updating properly.
Difficulty fractional does not matter for current BIS calc status thats why we only store the integer part.
Then for diff24 we can calculate average difficulty between different integer steps. 111.5 would be 50% time on 111 and 50% time on 112.