[Main]
Name=push_czeros
Type=Function
Subtype=ROM Call
Header Files=basfunc.h
Definition=void push_czeros (CESI, CESI);
MinAMS=2.02

[ROM Call]
Index=$587

[Description]
Executes TI-Basic 'cZeros' function.

[Explanation]

<B>Important note</B> for all solver ROM calls:
<BR>
<BR>
When czeros( ) is executed on the command line, the OS provides special treatment for the specified "variable of interest". Part of the "special treatment" is temporarily to promote the "variable of interest" to the top of the ordering. Directly calling push_czeros( ) bypasses this special treatment. This affects solver ROM calls such as push_zeros, push_solve, push_czeros, push_csolve, push_min, push_max, and push_desolve.
<BR>
<BR>
For example, the following code for attempting to find an inverse of sqrt(x/(1-x)) gives no solutions:
<BR>
<PRE>
 push_quantum(X_VAR_TAG);
 var = top_estack;
 push_difference(Integer1Index,var);
 expr = top_estack;
 push_quantum(X_VAR_TAG);
 divide_top(expr);
 push_sqrt(top_estack);	//sqrt(x/(1-x))
 push_zstr("solveaux"); top_estack--;
 solvevar = top_estack;	//Auxiliary solve variable
 push_substitute_simplify(expr,var,solvevar);
 push_difference(top_estack,var);    //(expr|x=solveaux)-x
 push_czeros(top_estack,solvevar);
</PRE>
<BR>
The simplest and most reliable way around this is to do:
<BR>
<PRE>
 push_expression(var);
 push_expression(expr);
 push_quantum(CZEROS_TAG);
 push_simplify(top_estack);
</PRE>
<BR>
The above information was obtained from TI.

[References]
Out=basfunc.h/did_push_series, basfunc.h/push_1st_derivative, basfunc.h/push_abs, basfunc.h/push_acosh, basfunc.h/push_approx, basfunc.h/push_asin, basfunc.h/push_asinh, basfunc.h/push_atan, basfunc.h/push_atanh, basfunc.h/push_ceiling, basfunc.h/push_conj, basfunc.h/push_cos, basfunc.h/push_cosh, basfunc.h/push_denominator, basfunc.h/push_exp, basfunc.h/push_expand, basfunc.h/push_factor, basfunc.h/push_floor, basfunc.h/push_gcd_numbers, basfunc.h/push_im, basfunc.h/push_integer_lcm, basfunc.h/push_list_to_mat, basfunc.h/push_ln, basfunc.h/push_mat_to_list, basfunc.h/push_max2, basfunc.h/push_mod, basfunc.h/push_numerator, basfunc.h/push_phase, basfunc.h/push_re, basfunc.h/push_rec_to_angle, basfunc.h/push_sign, basfunc.h/push_simult, basfunc.h/push_sin, basfunc.h/push_sin2, basfunc.h/push_sinh, basfunc.h/push_sqrt, basfunc.h/push_tan, basfunc.h/push_tanh, estack.h/remaining_element_count, basop.h/push_and, basop.h/push_arg_minus_1, basop.h/push_arg_plus_1, basop.h/push_difference, basop.h/push_exponentiate, basop.h/push_indir_name, basop.h/push_matrix_product, basop.h/push_negate, basop.h/push_not, basop.h/push_pow, basop.h/push_product, basop.h/push_ratio, basop.h/push_square, basop.h/push_substitute_no_simplify, basop.h/push_substitute_simplify, basop.h/push_substitute_using_such_that, basop.h/push_sum, error.h/ER_catch, error.h/ER_success, error.h/ER_throwVar, estack.h/all_tail, estack.h/any_tail, estack.h/are_expressions_identical, estack.h/check_estack_size, estack.h/compare_expressions, estack.h/delete_between, estack.h/delete_expression, estack.h/deleted_between, estack.h/deleted_expression, estack.h/estack_number_to_Float, estack.h/factor_base_index, estack.h/factor_exponent_index, estack.h/im_index, estack.h/index_main_var, estack.h/is_advanced_tag, estack.h/is_antisymmetric, estack.h/is_complex_number, estack.h/is_complex0, estack.h/is_free_of_tag, estack.h/is_independent_of, estack.h/is_independent_of_elements, estack.h/is_independent_of_tail, estack.h/is_monomial, estack.h/is_monomial_in_kernel, estack.h/is_symmetric, estack.h/is_tail_independent_of, estack.h/lead_base_index, estack.h/lead_exponent_index, estack.h/lead_factor_index, estack.h/lead_term_index, estack.h/likely_approx_to_complex_number, estack.h/likely_approx_to_number, estack.h/main_gen_var_index, estack.h/map_tail, estack.h/map_tail_Int, estack.h/move_between_to_top, estack.h/moved_between_to_top, estack.h/next_expression_index, estack.h/norm1_complex_Float, estack.h/numeric_factor_index, estack.h/push_between, estack.h/push_expr_quantum, estack.h/push_expr2_quantum, estack.h/push_expression, estack.h/push_Float, estack.h/push_Float_to_rat, estack.h/push_internal_simplify, estack.h/push_next_arb_int, estack.h/push_next_arb_real, estack.h/push_next_internal_var, estack.h/push_offset_array, estack.h/push_quantum, estack.h/push_quantum_pair, estack.h/push_reversed_tail, estack.h/re_index, estack.h/reductum_index, estack.h/remaining_factors_index, estack.h/should_and_did_push_approx_arg2, estack.h/top_estack, mem.h/memcpy, mem.h/memmove, statline.h/ST_helpMsg, system.h/XR_stringPtr, timath.h/fabs, timath.h/float_class, timath.h/fmod, timath.h/is_inf, timath.h/is_nan, timath.h/log, timath.h/sin, timath.h/sqrt, timath.h/tan, timath.h/tanh, estack.h/add_to_top, estack.h/add1_to_top, estack.h/and_onto_top, unknown.h/compare_numbers, unknown.h/did_map_aggregate_arg, unknown.h/did_push_var_val, unknown.h/divide_top, unknown.h/does_push_fetch, unknown.h/estack_to_float, unknown.h/Float0Index, unknown.h/Float1Index, unknown.h/FloatMinus1Index, unknown.h/FloatPiIndex, unknown.h/get_lb, unknown.h/get_ub, unknown.h/has_different_variable, unknown.h/index_false, unknown.h/index_rmng_factor, unknown.h/index_rmng_fctrs_start_base_tag, unknown.h/index_rmng_fctrs_start_fctr_tag, unknown.h/index_true, estack.h/integer_non_unknown, unknown.h/Integer0Index, unknown.h/Integer1Index, unknown.h/Integer2Index, unknown.h/IntegerMinus1Index, unknown.h/is_complex_Float, estack.h/is_constant, unknown.h/is_equivalent_to, estack.h/is_minus1, unknown.h/is_neg_lead_numr_coef_re_part, estack.h/is_negative, estack.h/is_never0, estack.h/is_nonnegative, estack.h/is_nonpositive, estack.h/is_polynomial_in_var_or_kern, estack.h/is_pos_int_and_eq_quantum, estack.h/is_positive, unknown.h/is_real, estack.h/is_reciprocal_of_quantum, unknown.h/is_undefined, estack.h/is_variable, estack.h/is_whole_number, estack.h/is0, estack.h/is1, unknown.h/lead_conjunct_factor_index, unknown.h/lead_disjunct_term_index, unknown.h/linear_degree, estack.h/negate_top, unknown.h/next_var_or_kernel_index, unknown.h/NG_control, unknown.h/NG_such_that_index, unknown.h/or_onto_top, unknown.h/primary_tag_list, unknown.h/push_but_conjunct_factor, unknown.h/push_but_factor, unknown.h/push_but_term, unknown.h/push_constant_factors, unknown.h/push_constant_terms, unknown.h/push_dependent_factors, unknown.h/push_dependent_terms, unknown.h/push_gcd_then_cofactors, unknown.h/push_independent_factors, unknown.h/push_independent_terms, unknown.h/push_minus_recip_of_quantum, unknown.h/push_negate_quantum_as_negint, unknown.h/push_nonconstant_factors, unknown.h/push_nonconstant_terms, unknown.h/push_nonnumeric_factors, unknown.h/push_pi, unknown.h/push_pi_on_quantum, unknown.h/push_poly_qr, unknown.h/push_quantum_as_nonnegative_int, unknown.h/push_reciprocal, unknown.h/push_standardize, unknown.h/push_var_kern_tail, unknown.h/push0, unknown.h/push1, unknown.h/raise_to_top, unknown.h/RAtionalize_tol, unknown.h/remaining_conjuncts_index, unknown.h/remaining_disjuncts_index, unknown.h/replace_top_with_reciprocal, unknown.h/replace_top2_with_and, unknown.h/replace_top2_with_difference, unknown.h/replace_top2_with_imre, unknown.h/replace_top2_with_or, unknown.h/replace_top2_with_pow, unknown.h/replace_top2_with_prod, unknown.h/replace_top2_with_ratio, unknown.h/replace_top2_with_sum, estack.h/subtract_from_top, unknown.h/times_top, vat.h/DerefSym, vat.h/VarRecall, unknown.h/_bcd_math, unknown.h/_du16u16, unknown.h/_ds32s32, unknown.h/_ms32s32, unknown.h/_ROM_CALL_460, unknown.h/_ROM_CALL_461, unknown.h/_ROM_CALL_462, unknown.h/_ROM_CALL_48C, unknown.h/_ROM_CALL_4CC, unknown.h/_ROM_CALL_4D1, basop.h/push_transpose, unknown.h/_ROM_CALL_4DF, unknown.h/_ROM_CALL_4E6, unknown.h/_ROM_CALL_4EA, unknown.h/_ROM_CALL_4EB, unknown.h/_ROM_CALL_4EC, unknown.h/_ROM_CALL_4ED, unknown.h/_ROM_CALL_4EE, unknown.h/_ROM_CALL_4EF, unknown.h/_ROM_CALL_4F2, unknown.h/_ROM_CALL_5E4, unknown.h/_ROM_CALL_5E5, unknown.h/_ROM_CALL_5E6, unknown.h/_ROM_CALL_5E8, unknown.h/_ROM_CALL_5EB, unknown.h/_ROM_CALL_5ED, unknown.h/_ROM_CALL_606
Out_EV_eventLoop=1
