This trigger takes three arguments. The first argument is a condition argument. If the condition is true (i.e., nonzero), Cond evaluates and returns the second argument. If the condition is false, Cond evaluates and returns the third argument. If the condition is bottom, then Cond returns bottom without evaluating the second or third arguments.

In all cases, any unused argument(s) are not evaluated. Therefore, Cond can be used instead of IfElse to avoid any side effects that would be caused by evaluating the unused argument (e.g., variable assignment, or performing a computation that would cause bottom to be generated).

Format: Cond(exp_cond, exp_true, exp_false)

Arguments:

- exp_cond (boolean): Expression to test.
- exp_true: Expression specifying value to return if exp_cond is nonzero.
- exp_false: Expression specifying value to return if exp_cond is zero.

Return type: Type of exp_true or exp_false, whichever is returned.

Error conditions: Returns 'Bottom' if exp_cond evaluates to 'Bottom', or if exp_true or exp_false (whichever is actually used) evaluates to 'Bottom'.

Example:

`value = Cond(var(3), 1, 2)
; Sets value to 1 if var(3) is not zero, and sets value to 2 if var(3) is 0.`