import Math.Statistics.Fusion
import qualified Data.Vector.Unboxed as V
import Data.Array.Vector
import Text.Printf

main = printf "%f\n" (harmonic (V.replicate 10000000 (pi :: Double)))
-- main = printf "%f\n" (harmonic (replicateU 10000000 (pi :: Double)))

{-
Main_zdwfold_info:
.Lc11L:
  movq %rdi,%rax
  cmpq $10000000,%rax
  jne .Lc11P
  movq %rsi,%rbx
  jmp *(%rbp)
.Lc11P:
  incq %rax
  leaq 1(%rsi),%rcx
  addsd .Ln11R(%rip),%xmm5
  movq %rcx,%rsi
  movq %rax,%rdi
  jmp Main_zdwfold_info

-}

{-
Main_mainzuzdszdwfoldlMzuloop_info:
        testq   %r14, %r14
        jle     .L11
        leaq    -1(%r14), %r14
        incq    %rsi
        addsd   .LC0(%rip), %xmm5
        jmp     Main_mainzuzdszdwfoldlMzuloop_info
-}
