;; (define-type dim (record time::int length::int))

(define-block
  cd2d


  (
    cd2d__s__Out1_1_1
    cd2d__v__Out1_1_1
    cd2d__Out1__In1_1_1
  )

  (
    cd2d__CompareToZero__In1_1_1
    cd2d__CompareToZero__Out1_1_1
    cd2d__horizontal_los?__In1__Out1_1_1
    cd2d__horizontal_los?__Out1__In1_1_1
    cd2d__omega_vv__s__Out1_1_1
    cd2d__omega_vv__v__Out1_1_1
    cd2d__omega_vv__Out1__In1_1_1
    cd2d__Add__In1_1_1
    cd2d__Add__In2_1_1
    cd2d__Add__Out1_1_1
    cd2d__B__Out1_1_1
    cd2d__LogicalOperator__In1_1_1
    cd2d__LogicalOperator__In2_1_1
    cd2d__LogicalOperator__Out1_1_1
    cd2d__Product__In1_1_1
    cd2d__Product__In2_1_1
    cd2d__Product__Out1_1_1
  )

  (
    (cd2d__horizontal_los? cd2d__horizontal_los?__In1__Out1_1_1 cd2d__horizontal_los?__Out1__In1_1_1)
    (cd2d__omega_vv cd2d__omega_vv__s__Out1_1_1 cd2d__omega_vv__v__Out1_1_1 cd2d__omega_vv__Out1__In1_1_1)
  )

  (
    (- cd2d__s__Out1_1_1 (mk-record 0 1))
    (- cd2d__v__Out1_1_1 (mk-record -1 1))
    (- cd2d__B__Out1_1_1 (mk-record 1 0))
    (- cd2d__Out1__In1_1_1 (mk-record 0 0))

    (- cd2d__Add__Out1_1_1 cd2d__Add__In1_1_1)
    (- cd2d__Add__In1_1_1 cd2d__Add__In2_1_1)
    (- cd2d__Product__Out1_1_1  (+ cd2d__Product__In1_1_1 cd2d__Product__In2_1_1))
    
    (- cd2d__Product__In1_1_1 cd2d__B__Out1_1_1)
    (- cd2d__CompareToZero__In1_1_1 cd2d__omega_vv__Out1__In1_1_1)
    (- cd2d__Add__In2_1_1 cd2d__Product__Out1_1_1)
    (- cd2d__horizontal_los?__In1__Out1_1_1 cd2d__Add__Out1_1_1)
    (- cd2d__LogicalOperator__In1_1_1 cd2d__horizontal_los?__Out1__In1_1_1)
    (- cd2d__Out1__In1_1_1 cd2d__LogicalOperator__Out1_1_1)
    (- cd2d__LogicalOperator__In2_1_1 cd2d__CompareToZero__Out1_1_1)
    (- cd2d__Product__In2_1_1 cd2d__v__Out1_1_1)
    (- cd2d__omega_vv__v__Out1_1_1 cd2d__v__Out1_1_1)
    (- cd2d__Add__In1_1_1 cd2d__s__Out1_1_1)
    (- cd2d__omega_vv__s__Out1_1_1 cd2d__s__Out1_1_1)
  )
)