Below calculations are valid as of 09 December 2019 on Ethereum mainnet.
My guess is that most of the confusion comes from the fact that constant of 2300 is used both by Solidity compiler and EVM itself. Here is what I've found so far (assuming that target account is an already created, and not self destructed, contract).
During the CALL(gas, ..., ...
Chain hammer uses a geth and solc as dependencies on Debian. You can use borrow parts of the installation script to help you.
Install Go: https://github.com/drandreaskrueger/chainhammer/blob/master/scripts/install-go.sh
Install Geth : https://github.com/drandreaskrueger/chainhammer/blob/master/scripts/install-geth.sh
Install Solc: https://github.com/...
To Install specific version of solidity, use :
npm install -g firstname.lastname@example.org
This will install solidity compiler 0.4.26 (latest on that version), globally.
npm install -g email@example.com
$ solcjs --version