Hi, I am using BaseX 8.4.3. I found some discriminating results while executing following query in two different ways : Query : round(((( $V1 * $V2 )+( $V3 * $V4 )+( $V5 * $V6 ))div( $V1 + $V3 + $V5 ))*10000) div 10000 1. Type 1 (standalone values) let $V1 := 1500000000 let $V2 := 0.0926 let $V3 := 1000000000 let $V4 := 0.082 let $V5 := 500000000 let $V6 := 0.0931 let $V7 := 0.0892 return round(((( $V1 * $V2 )+( $V3 * $V4 )+( $V5 * $V6 ))div( $V1 + $V3 + $V5 ))*10000) div 10000 Output : 0.0892 2 : Type 2 (values from input xml attached in this mail - val.xml) let $V1 := data/V1 let $V2 := data/V2 let $V3 := data/V3 let $V4 := data/V4 let $V5 := data/V5 let $V6 := data/V6 let $V7 := data/V7 return round(((( $V1 * $V2 )+( $V3 * $V4 )+( $V5 * $V6 ))div( $V1 + $V3 + $V5 ))*10000) div 10000 Output : 0.0891 Is this a bug or am I doing something wrong? Thanks, Prasad Gavhane.