(
(let $1 (DataType 'String))
(let $2 '('"key" $1))
(let $3 '('"subkey" $1))
(let $4 '('"value" $1))
(let $5 (StructType $2 $3 $4))
(let $6 '('('"_logical_id" '13264) '('"_id" '"7da472ca-8795f249-deef38b5-5d7e0cf2") '('"_wide_channels" $5)))
(let $7 (DqPhyStage '() (lambda '() (block '(
  (let $15 '@@["StructType";[["key";["DataType";"String"]];["subkey";["DataType";"String"]];["value";["DataType";"String"]]]]@@)
  (let $16 (YqlRowSpec '('NativeYtTypeFlags '0) '('StrictSchema '1) '('UniqueKeys '0) '('Type $15)))
  (let $17 (YtMeta '('CanWrite '1) '('DoesExist '1) '('YqlCompatibleScheme '1) '('InferredScheme '0) '('IsDynamic '0) '('Attrs '('('"native_strict_schema" 'false)))))
  (let $18 (YtStat '('Id '"Input") '('RecordsCount '4) '('DataSize '"166") '('ChunkCount '1) '('ModifyTime '0) '('Revision '0)))
  (let $19 (YtTable '"Input" $16 $17 $18 '() (Void) (Void) '"/Root/plato"))
  (let $20 '('"key" '"subkey" '"value"))
  (let $21 (YtReadTable! world (DataSource '"yt" '"/Root/plato") '((YtSection '((YtPath $19 $20 (Void) (Void))) '()))))
  (return (FromFlow (DqReadWideWrap $21 '())))
))) $6))
(let $8 (DqCnUnionAll (TDqOutput $7 '0)))
(let $9 (DataType 'Double))
(let $10 (OptionalType $9))
(let $11 (DataType 'Uint64))
(let $12 (DqPhyStage '($8) (lambda '($22) (block '(
  (let $23 (Double '0.0))
  (let $24 '($9 '"" '1))
  (let $25 (CallableType '() '($9) $24))
  (let $26 '('('"strict")))
  (let $27 (Udf '"Math.Sqrt" (Void) (VoidType) '"" $25 (VoidType) '"" $26))
  (let $28 '($11))
  (let $29 '((ResourceType '"HyperLogLog.State")))
  (let $30 (CallableType '() $28 $29))
  (let $31 (Udf '"HyperLogLog.GetResult" (Void) (VoidType) '"" $30 (VoidType) '"" $26))
  (let $32 '($1 '"" '1))
  (let $33 (CallableType '('1) $28 $32 '((OptionalType $11) '"Init")))
  (let $34 (Udf '"Digest.MurMurHash" (Void) (VoidType) '"" $33 (VoidType) '"" $26))
  (let $35 (DependsOn (Uint32 '3)))
  (let $36 (Chain1Map (NarrowMap (WideSort (ToFlow $22) '('('1 (Bool 'true)))) (lambda '($41 $42 $43) (AsStruct '('"key" $41) '('"subkey" $42) '('"value" $43)))) (lambda '($44) (block '(
    (let $45 (Member $44 '"key"))
    (let $46 (Coalesce (SafeCast $45 $10) $23))
    (let $47 (Member $44 '"subkey"))
    (let $48 (Coalesce (SafeCast $47 $10) $23))
    (let $49 (* $46 $48))
    (let $50 (Uint64 '1))
    (let $51 (* $46 $46))
    (let $52 (* $48 $48))
    (let $53 (CallableType '() $29 $28 '((DataType 'Uint32))))
    (let $54 (Udf '"HyperLogLog.Create" (Void) (VoidType) '"" $53 (VoidType) '"" '()))
    (let $55 (Member $44 '"value"))
    (let $56 (NamedApply $54 '((Apply $34 (StablePickle $55)) (Uint32 '18)) (AsStruct) $35))
    (let $57 (AsStruct '('Correlation0 (/ (- (* $49 $50) $49) (Apply $27 (* (- (* $51 $50) $51) (- (* $52 $50) $52))))) '('Covariance0 (/ (- $49 (/ $49 $50)) (Dec $50))) '('HLL0 (Apply $31 $56)) '('"key" $45) '('"subkey" $47) '('"value" $55)))
    (let $58 '($50 $46 $48 $49 $51 $52))
    (let $59 '($50 $46 $48 $49))
    (let $60 (AsStruct '('Correlation0 $58) '('Covariance0 $59) '('HLL0 $56)))
    (return '($57 $60))
  ))) (lambda '($61 $62) (block '(
    (let $63 (Nth $62 '1))
    (let $64 (Member $63 'Correlation0))
    (let $65 (Member $61 '"key"))
    (let $66 (Coalesce (SafeCast $65 $10) $23))
    (let $67 (Member $61 '"subkey"))
    (let $68 (Coalesce (SafeCast $67 $10) $23))
    (let $69 (* $66 $68))
    (let $70 (AggrAdd (Nth $64 '3) $69))
    (let $71 (Inc (Nth $64 '0)))
    (let $72 (AggrAdd (Nth $64 '1) $66))
    (let $73 (AggrAdd (Nth $64 '2) $68))
    (let $74 (AggrAdd (Nth $64 '4) (* $66 $66)))
    (let $75 (AggrAdd (Nth $64 '5) (* $68 $68)))
    (let $76 (Member $63 'Covariance0))
    (let $77 (AggrAdd (Nth $76 '3) $69))
    (let $78 (AggrAdd (Nth $76 '1) $66))
    (let $79 (AggrAdd (Nth $76 '2) $68))
    (let $80 (Inc (Nth $76 '0)))
    (let $81 (CallableType '() $29 $29 $28))
    (let $82 (Udf '"HyperLogLog.AddValue" (Void) (VoidType) '"" $81 (VoidType) '"" $26))
    (let $83 (Member $61 '"value"))
    (let $84 (NamedApply $82 '((Member $63 'HLL0) (Apply $34 (StablePickle $83))) (AsStruct) $35))
    (let $85 (AsStruct '('Correlation0 (/ (- (* $70 $71) (* $72 $73)) (Apply $27 (* (- (* $74 $71) (* $72 $72)) (- (* $75 $71) (* $73 $73)))))) '('Covariance0 (/ (- $77 (/ (* $78 $79) $80)) (Dec $80))) '('HLL0 (Apply $31 $84)) '('"key" $65) '('"subkey" $67) '('"value" $83)))
    (let $86 '($71 $72 $73 $70 $74 $75))
    (let $87 '($80 $78 $79 $77))
    (let $88 (AsStruct '('Correlation0 $86) '('Covariance0 $87) '('HLL0 $84)))
    (return '($85 $88))
  )))))
  (let $37 (StructType '('Correlation0 $9) '('Covariance0 $9) '('HLL0 $11) $2 $3 $4))
  (let $38 (ListType $37))
  (let $39 (VariantType (StructType '('group $38) '('singleRow $37))))
  (let $40 (Condense1 $36 (lambda '($89) (block '(
    (let $90 (Nth $89 '0))
    (let $91 (Variant $90 'singleRow $39))
    (return '((Member $90 '"subkey") $91))
  ))) (lambda '($92 $93) (AggrNotEquals (Member (Nth $92 '0) '"subkey") (Nth $93 '0))) (lambda '($94 $95) (block '(
    (let $96 (Nth $94 '0))
    (let $97 (Visit (Nth $95 '1) 'group (lambda '($98) (Variant (Insert $98 $96) 'group $39)) 'singleRow (lambda '($99) (Variant (AsList $99 $96) 'group $39))))
    (return '((Nth $95 '0) $97))
  )))))
  (return (FromFlow (Map (OrderedFlatMap $40 (lambda '($100) (block '(
    (let $101 (Visit (Nth $100 '1) 'group (lambda '($102) (IfPresent (Last $102) (lambda '($103) (OrderedMap (Collect (Map $102 (lambda '($104) (AsStruct '('"key" (Member $104 '"key")) '('"subkey" (Member $104 '"subkey")) '('"value" (Member $104 '"value")))))) (lambda '($105) (AsStruct '('Correlation0 (Member $103 'Correlation0)) '('Covariance0 (Member $103 'Covariance0)) '('HLL0 (Member $103 'HLL0)) '('"key" (Member $105 '"key")) '('"subkey" (Member $105 '"subkey")) '('"value" (Member $105 '"value")))))) (List $38))) 'singleRow (lambda '($106) (AsList $106))))
    (return (Map $101 (lambda '($107) (AsStruct '('Correlation0 (Member $107 'Correlation0)) '('Covariance0 (Member $107 'Covariance0)) '('HLL0 (Member $107 'HLL0)) '('"key" (Member $107 '"key")) '('"subkey" (Member $107 '"subkey"))))))
  )))) (lambda '($108) (AsStruct '('"corr" (Nanvl (Member $108 'Correlation0) (Nothing $10))) '('"covar" (Nanvl (Member $108 'Covariance0) (Minus (Double '"9.9")))) '('"hll" (Member $108 'HLL0)) '('"key" (Member $108 '"key")) '('"subkey" (Member $108 '"subkey")))))))
))) '('('"_logical_id" '13680) '('"_id" '"82e1191a-a12e1eea-4fff72d0-679f02d0"))))
(let $13 '('"key" '"subkey" '"corr" '"covar" '"hll"))
(let $14 (DqCnResult (TDqOutput $12 '0) $13))
(return (KqpPhysicalQuery '((KqpPhysicalTx '($7 $12) '($14) '() '('('"type" '"generic")))) '((KqpTxResultBinding (ListType (StructType '('"corr" $10) '('"covar" $9) '('"hll" $11) $2 $3)) '0 '0)) '('('"type" '"query"))))
)
