different result when using stream and parallelStream for redusing same array of data? : I used reduce with stream and also parallelStream on the same array with same Lambda Expression and I expected the same result but the output is different. I don't Understand why!?
following is the code:

            System.out.println("Reduce me...");
        Integer[] arrx = {1,2,3,4};
        //        Reducing the Array

        Arrays
                .stream(arrx)
                .reduce((s1, s2) -> (int)Math.pow(s1,2) + (int)Math.pow(s2,2))
                .ifPresent(System.out::println);

        Arrays.asList(arrx)
                .parallelStream()
                .reduce((s1, s2) -> (int)Math.pow(s1,2) + (int)Math.pow(s2,2))
                .ifPresent(System.out::println);

and the Output is:

1172

650