Difference between outputs of incident angle for a same pixel using different techniques in snappy

To get an incident angle of Sentinel-1 using snappy, I used two approaches.

  1. To create a new band “incident_angle” using Band Math in SNAP. And then reading pixels for that band using snappy for particular pixels (x,y).
  2. To use getRasterDataNode(‘incident_angle’) function to get an object and reading pixels into numpy array using readPixels.

When I approached my problem with two different approaches, I am getting slightly different values of incident angle. For some examples where I checked, I got following values -

case 1 (some x,y)-

  1. 31.569101333618164 (1st approach)
  2. 31.56910178519918 (2nd approach)

case 2-

  1. 30.812082290649414
  2. 30.812081940530742

So as seen there is difference between these values (order of 10^-5). But can I know the reason behind getting this difference? Is Band Math add some processing before converting into the band? Also, for your information, I have tried both techniques after application of orbit files. Is it creating this difference?