//////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2010, 2026 Contributors to the Eclipse Foundation
//
// See the NOTICE file(s) distributed with this work for additional
// information regarding copyright ownership.
//
// This program and the accompanying materials are made available
// under the terms of the MIT License which is available at
// https://opensource.org/licenses/MIT
//
// SPDX-License-Identifier: MIT
//////////////////////////////////////////////////////////////////////////////

include::../_part_attributes.asciidoc[]

:leveloffset: -2

[[tools-cif2cif-chapter-simplify-values-no-refs-optimized]]
== Simplify values (no references, optimized)

indexterm:[CIF to CIF transformer,"simplify values (no references, optimized)"]
indexterm:["simplify values (no references, optimized)"]
This CIF to CIF transformation simplifies CIF specifications, by applying same value-related simplifications as the <<tools-cif2cif-chapter-simplify-values>> CIF to CIF transformation, but without simplifying reference expressions, and with optimizations for literal expressions.

indexterm:["simplify values (no references, optimized)",supported specifications]

=== Supported specifications

This transformation supports a subset of CIF specifications.
The following restrictions apply:

* Component definitions and component instantiations are not supported.

indexterm:["simplify values (no references, optimized)",preprocessing]

=== Preprocessing

No preprocessing is currently performed by this CIF to CIF transformation.
To increase the subset of specifications that can be transformed, apply the following <<tools-cif2cif-chapter-index,CIF to CIF transformations>> (in the given order):

* <<tools-cif2cif-chapter-elim-comp-def-inst>>

indexterm:["simplify values (no references, optimized)",implementation]

=== Implementation details

This CIF to CIF transformation simplifies CIF specifications, by applying same value-related simplifications as the <<tools-cif2cif-chapter-simplify-values>> CIF to CIF transformation.

However, it does not simplifying reference expressions.
For details, see the <<tools-cif2cif-chapter-simplify-values-no-refs>> CIF to CIF transformation.
Furthermore, it simplifies with optimizations for literal expressions.
For details, see the <<tools-cif2cif-chapter-simplify-values-optimized>> CIF to CIF transformation.

=== Renaming

n/a

indexterm:["simplify values (no references, optimized)",size considerations]

=== Size considerations

This transformation tries to simplify the specification, possibly reducing its size.

indexterm:["simplify values (no references, optimized)",optimality]

=== Optimality

Not all simplifications that could potentially be performed are implemented in this transformation.

The optimizations for literals that are performed influence the optimality of the simplification, as described above.

=== Annotations

This transformation does not process, add, or remove any annotations.
The values of annotation arguments may be simplified.
