It's interesting that there are multiple minima, it might explain why it can be hard for the optimization routine to find the global minimum, it might get stuck in a local one. As I mentioned before, it's not only a matter of angle - for each angle the bond length may change, so it's a two-dimensional minimization problem.
When comparing to literature values, one must compare apples and apples :) For instance, LDA cannot be compared to GGA, they are expected to give different results. So one cannot just say "literature value is ...", at least not for a quantity like this.
To rotate in Python (NOTE: This is not an officially supported method. It may not work, now or in the future some day. It does work in 11.8 however.)
from NL.CommonConcepts.Configurations.Utilities import rotate
configuration = BulkConfiguration(...)
# Rotation angle, in Degrees
angle = 10.
# Axis is normalized internally
axis = [1,0,0]
# Rotate all atoms
indices = range(len(configuration.elements()))
# Rotation center
u0 = [0,0,0]*Angstrom
# Rotation updates configuration
rotate(configuration,indices,angle,axis,u0)