I built a sample smart contract, then I looked at the opcodes, and always found similar opcodes at the end - for all samples I tried - like below.
a1 log1
65 62 7a 7a 72 30 58 push6 627a7a723058
20 sha3
8b dup12
Nowhere in the contract refers (JUMP) to these instructions, so I am wondering why they are here, and what they do.
Any ideas? Thanks
Update: below is the source code of my sample.
pragma solidity ^0.4.23;
contract sample {
uint public a = 2;
function exp(uint256 input) public {
a = a ** input;
}
}