./Ultimate.py --spec ../../sv-benchmarks/c/properties/unreach-call.prp --file ../../sv-benchmarks/c/float-newlib/double_req_bl_0660b_true-unreach-call.c --full-output --architecture 32bit -------------------------------------------------------------------------------- Checking for ERROR reachability Using default analysis Version aa418289 Calling Ultimate with: java -Dosgi.configuration.area=/tmp/vcloud-vcloud-master/worker/working_dir_67d8bab4-9054-4115-883d-da4f9337d291/bin-2019/utaipan/data/config -Xmx12G -Xms1G -jar /tmp/vcloud-vcloud-master/worker/working_dir_67d8bab4-9054-4115-883d-da4f9337d291/bin-2019/utaipan/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata /tmp/vcloud-vcloud-master/worker/working_dir_67d8bab4-9054-4115-883d-da4f9337d291/bin-2019/utaipan/data -tc /tmp/vcloud-vcloud-master/worker/working_dir_67d8bab4-9054-4115-883d-da4f9337d291/bin-2019/utaipan/config/TaipanReach.xml -i ../../sv-benchmarks/c/float-newlib/double_req_bl_0660b_true-unreach-call.c -s /tmp/vcloud-vcloud-master/worker/working_dir_67d8bab4-9054-4115-883d-da4f9337d291/bin-2019/utaipan/config/svcomp-Reach-32bit-Taipan_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /tmp/vcloud-vcloud-master/worker/working_dir_67d8bab4-9054-4115-883d-da4f9337d291/bin-2019/utaipan --witnessprinter.witness.filename witness.graphml --witnessprinter.write.witness.besides.input.file false --witnessprinter.graph.data.specification CHECK( init(main()), LTL(G ! call(__VERIFIER_error())) ) --witnessprinter.graph.data.producer Taipan --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash fcfb0681d482dd50f2d20807361558887e88a0e8 ............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................. Execution finished normally Using bit-precise analysis Retrying with bit-precise analysis Calling Ultimate with: java -Dosgi.configuration.area=/tmp/vcloud-vcloud-master/worker/working_dir_67d8bab4-9054-4115-883d-da4f9337d291/bin-2019/utaipan/data/config -Xmx12G -Xms1G -jar /tmp/vcloud-vcloud-master/worker/working_dir_67d8bab4-9054-4115-883d-da4f9337d291/bin-2019/utaipan/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata /tmp/vcloud-vcloud-master/worker/working_dir_67d8bab4-9054-4115-883d-da4f9337d291/bin-2019/utaipan/data -tc /tmp/vcloud-vcloud-master/worker/working_dir_67d8bab4-9054-4115-883d-da4f9337d291/bin-2019/utaipan/config/TaipanReach.xml -i ../../sv-benchmarks/c/float-newlib/double_req_bl_0660b_true-unreach-call.c -s /tmp/vcloud-vcloud-master/worker/working_dir_67d8bab4-9054-4115-883d-da4f9337d291/bin-2019/utaipan/config/svcomp-Reach-32bit-Taipan_Bitvector.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /tmp/vcloud-vcloud-master/worker/working_dir_67d8bab4-9054-4115-883d-da4f9337d291/bin-2019/utaipan --witnessprinter.witness.filename witness.graphml --witnessprinter.write.witness.besides.input.file false --witnessprinter.graph.data.specification CHECK( init(main()), LTL(G ! call(__VERIFIER_error())) ) --witnessprinter.graph.data.producer Taipan --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash fcfb0681d482dd50f2d20807361558887e88a0e8 .............................................................................................................................................................................................................................................................................................................................................. Execution finished normally Writing output log to file Ultimate.log Result: ERROR: ExceptionOrErrorResult: UnsupportedOperationException: nested self-update not yet implemented: (store v_arrayElimCell_1 (_ bv0 32) ((_ extract 31 0) v_prenex_53)) --- Real Ultimate output --- This is Ultimate 0.1.23-aa41828 [2018-11-23 05:58:30,780 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-23 05:58:30,781 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-23 05:58:30,789 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-23 05:58:30,789 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-23 05:58:30,789 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-23 05:58:30,790 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-23 05:58:30,791 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-23 05:58:30,792 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-23 05:58:30,793 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-23 05:58:30,794 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-23 05:58:30,794 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-23 05:58:30,794 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-23 05:58:30,795 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-23 05:58:30,796 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-23 05:58:30,797 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-23 05:58:30,797 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-23 05:58:30,798 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-23 05:58:30,800 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-23 05:58:30,801 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-23 05:58:30,802 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-23 05:58:30,802 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-23 05:58:30,804 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-23 05:58:30,804 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-23 05:58:30,805 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-23 05:58:30,805 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-23 05:58:30,806 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-23 05:58:30,806 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-23 05:58:30,807 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-23 05:58:30,808 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-23 05:58:30,808 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-23 05:58:30,809 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-23 05:58:30,809 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-23 05:58:30,809 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-23 05:58:30,810 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-23 05:58:30,810 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-23 05:58:30,810 INFO L98 SettingsManager]: Beginning loading settings from /tmp/vcloud-vcloud-master/worker/working_dir_67d8bab4-9054-4115-883d-da4f9337d291/bin-2019/utaipan/config/svcomp-Reach-32bit-Taipan_Default.epf [2018-11-23 05:58:30,820 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-23 05:58:30,820 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-23 05:58:30,821 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-23 05:58:30,821 INFO L133 SettingsManager]: * ... calls to implemented procedures=ONLY_FOR_CONCURRENT_PROGRAMS [2018-11-23 05:58:30,821 INFO L133 SettingsManager]: * User list type=DISABLED [2018-11-23 05:58:30,821 INFO L131 SettingsManager]: Preferences of Abstract Interpretation differ from their defaults: [2018-11-23 05:58:30,821 INFO L133 SettingsManager]: * Explicit value domain=true [2018-11-23 05:58:30,822 INFO L133 SettingsManager]: * Abstract domain for RCFG-of-the-future=PoormanAbstractDomain [2018-11-23 05:58:30,822 INFO L133 SettingsManager]: * Octagon Domain=false [2018-11-23 05:58:30,822 INFO L133 SettingsManager]: * Abstract domain=CompoundDomain [2018-11-23 05:58:30,822 INFO L133 SettingsManager]: * Check feasibility of abstract posts with an SMT solver=true [2018-11-23 05:58:30,822 INFO L133 SettingsManager]: * Use the RCFG-of-the-future interface=true [2018-11-23 05:58:30,822 INFO L133 SettingsManager]: * Interval Domain=false [2018-11-23 05:58:30,823 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-23 05:58:30,823 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-23 05:58:30,823 INFO L133 SettingsManager]: * Overapproximate operations on floating types=true [2018-11-23 05:58:30,823 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-23 05:58:30,823 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-23 05:58:30,823 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-23 05:58:30,824 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-23 05:58:30,824 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-23 05:58:30,824 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-23 05:58:30,824 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-23 05:58:30,824 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-23 05:58:30,824 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-23 05:58:30,824 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-23 05:58:30,825 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-11-23 05:58:30,825 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-23 05:58:30,825 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-11-23 05:58:30,825 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-23 05:58:30,825 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-23 05:58:30,825 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-23 05:58:30,825 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-23 05:58:30,825 INFO L133 SettingsManager]: * Trace refinement strategy=TAIPAN [2018-11-23 05:58:30,826 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-23 05:58:30,826 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2018-11-23 05:58:30,826 INFO L133 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2018-11-23 05:58:30,826 INFO L133 SettingsManager]: * Abstract interpretation Mode=USE_PREDICATES Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: Entry function -> main Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness directory -> /tmp/vcloud-vcloud-master/worker/working_dir_67d8bab4-9054-4115-883d-da4f9337d291/bin-2019/utaipan Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness filename -> witness.graphml Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Write witness besides input file -> false Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data specification -> CHECK( init(main()), LTL(G ! call(__VERIFIER_error())) ) Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data producer -> Taipan Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data architecture -> 32bit Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data programhash -> fcfb0681d482dd50f2d20807361558887e88a0e8 [2018-11-23 05:58:30,848 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-23 05:58:30,856 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-23 05:58:30,858 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-23 05:58:30,859 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-23 05:58:30,859 INFO L276 PluginConnector]: CDTParser initialized [2018-11-23 05:58:30,859 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /tmp/vcloud-vcloud-master/worker/working_dir_67d8bab4-9054-4115-883d-da4f9337d291/bin-2019/utaipan/../../sv-benchmarks/c/float-newlib/double_req_bl_0660b_true-unreach-call.c [2018-11-23 05:58:30,896 INFO L221 CDTParser]: Created temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_67d8bab4-9054-4115-883d-da4f9337d291/bin-2019/utaipan/data/547f303e8/b7f54026803e483fbfed7cca1600947f/FLAGceb6958ad [2018-11-23 05:58:31,256 INFO L307 CDTParser]: Found 1 translation units. [2018-11-23 05:58:31,257 INFO L161 CDTParser]: Scanning /tmp/vcloud-vcloud-master/worker/working_dir_67d8bab4-9054-4115-883d-da4f9337d291/sv-benchmarks/c/float-newlib/double_req_bl_0660b_true-unreach-call.c [2018-11-23 05:58:31,263 INFO L355 CDTParser]: About to delete temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_67d8bab4-9054-4115-883d-da4f9337d291/bin-2019/utaipan/data/547f303e8/b7f54026803e483fbfed7cca1600947f/FLAGceb6958ad [2018-11-23 05:58:31,662 INFO L363 CDTParser]: Successfully deleted /tmp/vcloud-vcloud-master/worker/working_dir_67d8bab4-9054-4115-883d-da4f9337d291/bin-2019/utaipan/data/547f303e8/b7f54026803e483fbfed7cca1600947f [2018-11-23 05:58:31,664 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-23 05:58:31,665 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-23 05:58:31,666 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-23 05:58:31,666 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-23 05:58:31,669 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-23 05:58:31,670 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 05:58:31" (1/1) ... [2018-11-23 05:58:31,672 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@13b1f541 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 05:58:31, skipping insertion in model container [2018-11-23 05:58:31,672 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 05:58:31" (1/1) ... [2018-11-23 05:58:31,681 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-23 05:58:31,705 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-23 05:58:31,853 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 05:58:31,857 INFO L191 MainTranslator]: Completed pre-run [2018-11-23 05:58:31,891 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 05:58:31,911 INFO L195 MainTranslator]: Completed translation [2018-11-23 05:58:31,912 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 05:58:31 WrapperNode [2018-11-23 05:58:31,912 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-23 05:58:31,912 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-23 05:58:31,912 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-23 05:58:31,912 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-23 05:58:31,917 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 05:58:31" (1/1) ... [2018-11-23 05:58:31,970 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 05:58:31" (1/1) ... [2018-11-23 05:58:31,977 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-23 05:58:31,977 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-23 05:58:31,978 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-23 05:58:31,978 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-23 05:58:31,984 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 05:58:31" (1/1) ... [2018-11-23 05:58:31,984 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 05:58:31" (1/1) ... [2018-11-23 05:58:31,988 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 05:58:31" (1/1) ... [2018-11-23 05:58:31,989 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 05:58:31" (1/1) ... [2018-11-23 05:58:32,008 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 05:58:31" (1/1) ... [2018-11-23 05:58:32,017 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 05:58:31" (1/1) ... [2018-11-23 05:58:32,019 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 05:58:31" (1/1) ... [2018-11-23 05:58:32,022 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-23 05:58:32,023 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-23 05:58:32,023 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-23 05:58:32,023 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-23 05:58:32,024 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 05:58:31" (1/1) ... No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_67d8bab4-9054-4115-883d-da4f9337d291/bin-2019/utaipan/z3 Starting monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-23 05:58:32,061 INFO L130 BoogieDeclarations]: Found specification of procedure main [2018-11-23 05:58:32,061 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2018-11-23 05:58:32,061 INFO L130 BoogieDeclarations]: Found specification of procedure __ieee754_atan2 [2018-11-23 05:58:32,061 INFO L138 BoogieDeclarations]: Found implementation of procedure __ieee754_atan2 [2018-11-23 05:58:32,061 INFO L130 BoogieDeclarations]: Found specification of procedure read~real [2018-11-23 05:58:32,061 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2018-11-23 05:58:32,061 INFO L130 BoogieDeclarations]: Found specification of procedure fabs_double [2018-11-23 05:58:32,061 INFO L138 BoogieDeclarations]: Found implementation of procedure fabs_double [2018-11-23 05:58:32,061 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2018-11-23 05:58:32,062 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2018-11-23 05:58:32,062 INFO L130 BoogieDeclarations]: Found specification of procedure write~real [2018-11-23 05:58:32,062 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-23 05:58:32,062 INFO L130 BoogieDeclarations]: Found specification of procedure atan_double [2018-11-23 05:58:32,062 INFO L138 BoogieDeclarations]: Found implementation of procedure atan_double [2018-11-23 05:58:32,062 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-23 05:58:32,062 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-23 05:58:32,062 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2018-11-23 05:58:32,063 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~real [2018-11-23 05:58:32,063 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-23 05:58:32,490 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-23 05:58:32,490 INFO L280 CfgBuilder]: Removed 16 assue(true) statements. [2018-11-23 05:58:32,490 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 05:58:32 BoogieIcfgContainer [2018-11-23 05:58:32,490 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-23 05:58:32,491 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2018-11-23 05:58:32,491 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2018-11-23 05:58:32,493 INFO L276 PluginConnector]: TraceAbstraction initialized [2018-11-23 05:58:32,493 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 23.11 05:58:31" (1/3) ... [2018-11-23 05:58:32,494 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@4309cb05 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 05:58:32, skipping insertion in model container [2018-11-23 05:58:32,494 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 05:58:31" (2/3) ... [2018-11-23 05:58:32,494 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@4309cb05 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 05:58:32, skipping insertion in model container [2018-11-23 05:58:32,494 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 05:58:32" (3/3) ... [2018-11-23 05:58:32,496 INFO L112 eAbstractionObserver]: Analyzing ICFG double_req_bl_0660b_true-unreach-call.c [2018-11-23 05:58:32,503 INFO L156 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2018-11-23 05:58:32,511 INFO L168 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2018-11-23 05:58:32,520 INFO L257 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2018-11-23 05:58:32,540 INFO L382 AbstractCegarLoop]: Interprodecural is true [2018-11-23 05:58:32,540 INFO L383 AbstractCegarLoop]: Hoare is true [2018-11-23 05:58:32,541 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2018-11-23 05:58:32,541 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2018-11-23 05:58:32,541 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-11-23 05:58:32,541 INFO L387 AbstractCegarLoop]: Difference is false [2018-11-23 05:58:32,541 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-11-23 05:58:32,541 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2018-11-23 05:58:32,553 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states. [2018-11-23 05:58:32,557 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 20 [2018-11-23 05:58:32,557 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 05:58:32,558 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 05:58:32,559 INFO L423 AbstractCegarLoop]: === Iteration 1 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 05:58:32,563 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 05:58:32,563 INFO L82 PathProgramCache]: Analyzing trace with hash -1380022172, now seen corresponding path program 1 times [2018-11-23 05:58:32,565 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-11-23 05:58:32,599 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 05:58:32,599 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 05:58:32,599 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 05:58:32,599 INFO L286 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-11-23 05:58:32,647 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 05:58:32,685 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 05:58:32,687 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 05:58:32,687 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2018-11-23 05:58:32,688 INFO L256 anRefinementStrategy]: Using the first perfect interpolant sequence [2018-11-23 05:58:32,691 INFO L459 AbstractCegarLoop]: Interpolant automaton has 2 states [2018-11-23 05:58:32,699 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2018-11-23 05:58:32,700 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-23 05:58:32,702 INFO L87 Difference]: Start difference. First operand 103 states. Second operand 2 states. [2018-11-23 05:58:32,727 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 05:58:32,727 INFO L93 Difference]: Finished difference Result 197 states and 314 transitions. [2018-11-23 05:58:32,727 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2018-11-23 05:58:32,728 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 19 [2018-11-23 05:58:32,729 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 05:58:32,738 INFO L225 Difference]: With dead ends: 197 [2018-11-23 05:58:32,738 INFO L226 Difference]: Without dead ends: 98 [2018-11-23 05:58:32,741 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 2 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 0 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-23 05:58:32,753 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 98 states. [2018-11-23 05:58:32,769 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 98 to 98. [2018-11-23 05:58:32,769 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 98 states. [2018-11-23 05:58:32,771 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 98 states to 98 states and 137 transitions. [2018-11-23 05:58:32,772 INFO L78 Accepts]: Start accepts. Automaton has 98 states and 137 transitions. Word has length 19 [2018-11-23 05:58:32,772 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 05:58:32,772 INFO L480 AbstractCegarLoop]: Abstraction has 98 states and 137 transitions. [2018-11-23 05:58:32,772 INFO L481 AbstractCegarLoop]: Interpolant automaton has 2 states. [2018-11-23 05:58:32,772 INFO L276 IsEmpty]: Start isEmpty. Operand 98 states and 137 transitions. [2018-11-23 05:58:32,773 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 22 [2018-11-23 05:58:32,773 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 05:58:32,773 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 05:58:32,773 INFO L423 AbstractCegarLoop]: === Iteration 2 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 05:58:32,774 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 05:58:32,774 INFO L82 PathProgramCache]: Analyzing trace with hash 959017453, now seen corresponding path program 1 times [2018-11-23 05:58:32,774 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-11-23 05:58:32,774 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 05:58:32,775 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 05:58:32,775 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-23 05:58:32,775 INFO L286 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-11-23 05:58:32,815 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 05:58:32,848 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 05:58:32,875 INFO L469 BasicCegarLoop]: Counterexample might be feasible ----- class de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder.RCFGBacktranslator [?] CALL call ULTIMATE.init(); VAL [|#NULL.base|=115, |#NULL.offset|=106, |old(#NULL.base)|=115, |old(#NULL.offset)|=106, |old(~#aT_atan~0.base)|=97, |old(~#aT_atan~0.offset)|=104, |old(~#atanhi_atan~0.base)|=100, |old(~#atanhi_atan~0.offset)|=109, |old(~#atanlo_atan~0.base)|=92, |old(~#atanlo_atan~0.offset)|=119, |old(~huge_atan~0)|=117.0, |old(~one_atan~0)|=105.0, |old(~pi_lo_atan2~0)|=103.0, |old(~pi_o_2~0)|=89.0, |old(~pi_o_4~0)|=107.0, |old(~pi~0)|=112.0, |old(~tiny_atan2~0)|=118.0, |old(~zero_atan2~0)|=96.0, |~#aT_atan~0.base|=97, |~#aT_atan~0.offset|=104, |~#atanhi_atan~0.base|=100, |~#atanhi_atan~0.offset|=109, |~#atanlo_atan~0.base|=92, |~#atanlo_atan~0.offset|=119, ~huge_atan~0=117.0, ~one_atan~0=105.0, ~pi_lo_atan2~0=103.0, ~pi_o_2~0=89.0, ~pi_o_4~0=107.0, ~pi~0=112.0, ~tiny_atan2~0=118.0, ~zero_atan2~0=96.0] [?] #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];call ~#atanhi_atan~0.base, ~#atanhi_atan~0.offset := #Ultimate.alloc(32);call write~init~real(0.4636476090008061, ~#atanhi_atan~0.base, ~#atanhi_atan~0.offset, 8);call write~init~real(0.7853981633974483, ~#atanhi_atan~0.base, 8 + ~#atanhi_atan~0.offset, 8);call write~init~real(0.982793723247329, ~#atanhi_atan~0.base, 16 + ~#atanhi_atan~0.offset, 8);call write~init~real(1.5707963267948966, ~#atanhi_atan~0.base, 24 + ~#atanhi_atan~0.offset, 8);call ~#atanlo_atan~0.base, ~#atanlo_atan~0.offset := #Ultimate.alloc(32);call write~init~real(2.2698777452961687E-17, ~#atanlo_atan~0.base, ~#atanlo_atan~0.offset, 8);call write~init~real(3.061616997868383E-17, ~#atanlo_atan~0.base, 8 + ~#atanlo_atan~0.offset, 8);call write~init~real(1.3903311031230998E-17, ~#atanlo_atan~0.base, 16 + ~#atanlo_atan~0.offset, 8);call write~init~real(6.123233995736766E-17, ~#atanlo_atan~0.base, 24 + ~#atanlo_atan~0.offset, 8);call ~#aT_atan~0.base, ~#aT_atan~0.offset := #Ultimate.alloc(88);call write~init~real(0.3333333333333293, ~#aT_atan~0.base, ~#aT_atan~0.offset, 8);call write~init~real(~someUnaryDOUBLEoperation(0.19999999999876483), ~#aT_atan~0.base, 8 + ~#aT_atan~0.offset, 8);call write~init~real(0.14285714272503466, ~#aT_atan~0.base, 16 + ~#aT_atan~0.offset, 8);call write~init~real(~someUnaryDOUBLEoperation(0.11111110405462356), ~#aT_atan~0.base, 24 + ~#aT_atan~0.offset, 8);call write~init~real(0.09090887133436507, ~#aT_atan~0.base, 32 + ~#aT_atan~0.offset, 8);call write~init~real(~someUnaryDOUBLEoperation(0.0769187620504483), ~#aT_atan~0.base, 40 + ~#aT_atan~0.offset, 8);call write~init~real(0.06661073137387531, ~#aT_atan~0.base, 48 + ~#aT_atan~0.offset, 8);call write~init~real(~someUnaryDOUBLEoperation(0.058335701337905735), ~#aT_atan~0.base, 56 + ~#aT_atan~0.offset, 8);call write~init~real(0.049768779946159324, ~#aT_atan~0.base, 64 + ~#aT_atan~0.offset, 8);call write~init~real(~someUnaryDOUBLEoperation(0.036531572744216916), ~#aT_atan~0.base, 72 + ~#aT_atan~0.offset, 8);call write~init~real(0.016285820115365782, ~#aT_atan~0.base, 80 + ~#aT_atan~0.offset, 8);~one_atan~0 := 1.0;~pi_o_4~0 := 0.7853981633974483;~pi_o_2~0 := 1.5707963267948966;~pi~0 := 3.141592653589793;~huge_atan~0 := 1.0E300;~tiny_atan2~0 := 1.0E-300;~zero_atan2~0 := 0.0;~pi_lo_atan2~0 := 1.2246467991473532E-16; VAL [|#NULL.base|=0, |#NULL.offset|=0, |old(#NULL.base)|=115, |old(#NULL.offset)|=106, |old(~#aT_atan~0.base)|=97, |old(~#aT_atan~0.offset)|=104, |old(~#atanhi_atan~0.base)|=100, |old(~#atanhi_atan~0.offset)|=109, |old(~#atanlo_atan~0.base)|=92, |old(~#atanlo_atan~0.offset)|=119, |old(~huge_atan~0)|=117.0, |old(~one_atan~0)|=105.0, |old(~pi_lo_atan2~0)|=103.0, |old(~pi_o_2~0)|=89.0, |old(~pi_o_4~0)|=107.0, |old(~pi~0)|=112.0, |old(~tiny_atan2~0)|=118.0, |old(~zero_atan2~0)|=96.0, |~#aT_atan~0.base|=99, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=101, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=90, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] assume true; VAL [|#NULL.base|=0, |#NULL.offset|=0, |old(#NULL.base)|=115, |old(#NULL.offset)|=106, |old(~#aT_atan~0.base)|=97, |old(~#aT_atan~0.offset)|=104, |old(~#atanhi_atan~0.base)|=100, |old(~#atanhi_atan~0.offset)|=109, |old(~#atanlo_atan~0.base)|=92, |old(~#atanlo_atan~0.offset)|=119, |old(~huge_atan~0)|=117.0, |old(~one_atan~0)|=105.0, |old(~pi_lo_atan2~0)|=103.0, |old(~pi_o_2~0)|=89.0, |old(~pi_o_4~0)|=107.0, |old(~pi~0)|=112.0, |old(~tiny_atan2~0)|=118.0, |old(~zero_atan2~0)|=96.0, |~#aT_atan~0.base|=99, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=101, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=90, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] RET #337#return; VAL [|#NULL.base|=0, |#NULL.offset|=0, |~#aT_atan~0.base|=99, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=101, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=90, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] CALL call #t~ret50 := main(); VAL [|#NULL.base|=0, |#NULL.offset|=0, |~#aT_atan~0.base|=99, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=101, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=90, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] ~x~0 := #t~nondet48;havoc #t~nondet48;~y~0 := 0.0; VAL [main_~x~0=108.0, main_~y~0=0.0, |#NULL.base|=0, |#NULL.offset|=0, |~#aT_atan~0.base|=99, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=101, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=90, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] assume ~someBinaryDOUBLEComparisonOperation(~x~0, 0.0); VAL [main_~x~0=108.0, main_~y~0=0.0, |#NULL.base|=0, |#NULL.offset|=0, |~#aT_atan~0.base|=99, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=101, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=90, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] CALL call #t~ret49 := __ieee754_atan2(~y~0, ~x~0); VAL [|#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=108.0, |__ieee754_atan2_#in~y|=0.0, |~#aT_atan~0.base|=99, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=101, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=90, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] ~y := #in~y;~x := #in~x;havoc ~z~1;havoc ~k~0;havoc ~m~0;havoc ~hx~1;havoc ~hy~0;havoc ~ix~1;havoc ~iy~0;havoc ~lx~0;havoc ~ly~0; VAL [__ieee754_atan2_~x=108.0, __ieee754_atan2_~y=0.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=108.0, |__ieee754_atan2_#in~y|=0.0, |~#aT_atan~0.base|=99, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=101, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=90, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] call ~#ew_u~0.base, ~#ew_u~0.offset := #Ultimate.alloc(8);call write~real(~x, ~#ew_u~0.base, ~#ew_u~0.offset, 8);call #t~mem27 := read~int(~#ew_u~0.base, 4 + ~#ew_u~0.offset, 4);~hx~1 := (if #t~mem27 % 4294967296 % 4294967296 <= 2147483647 then #t~mem27 % 4294967296 % 4294967296 else #t~mem27 % 4294967296 % 4294967296 - 4294967296);call write~real(#t~union28, ~#ew_u~0.base, ~#ew_u~0.offset, 8);havoc #t~mem27;havoc #t~union28;call #t~mem29 := read~int(~#ew_u~0.base, ~#ew_u~0.offset, 4);~lx~0 := #t~mem29;call write~real(#t~union30, ~#ew_u~0.base, ~#ew_u~0.offset, 8);havoc #t~mem29;havoc #t~union30;call ULTIMATE.dealloc(~#ew_u~0.base, ~#ew_u~0.offset);havoc ~#ew_u~0.base, ~#ew_u~0.offset; VAL [__ieee754_atan2_~hx~1=5, __ieee754_atan2_~lx~0=113, __ieee754_atan2_~x=108.0, __ieee754_atan2_~y=0.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=108.0, |__ieee754_atan2_#in~y|=0.0, |~#aT_atan~0.base|=99, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=101, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=90, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] goto; VAL [__ieee754_atan2_~hx~1=5, __ieee754_atan2_~lx~0=113, __ieee754_atan2_~x=108.0, __ieee754_atan2_~y=0.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=108.0, |__ieee754_atan2_#in~y|=0.0, |~#aT_atan~0.base|=99, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=101, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=90, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] ~ix~1 := ~bitwiseAnd(~hx~1, 2147483647); VAL [__ieee754_atan2_~hx~1=5, __ieee754_atan2_~lx~0=113, __ieee754_atan2_~x=108.0, __ieee754_atan2_~y=0.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=108.0, |__ieee754_atan2_#in~y|=0.0, |~#aT_atan~0.base|=99, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=101, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=90, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] call ~#ew_u~1.base, ~#ew_u~1.offset := #Ultimate.alloc(8);call write~real(~y, ~#ew_u~1.base, ~#ew_u~1.offset, 8);call #t~mem31 := read~int(~#ew_u~1.base, 4 + ~#ew_u~1.offset, 4);~hy~0 := (if #t~mem31 % 4294967296 % 4294967296 <= 2147483647 then #t~mem31 % 4294967296 % 4294967296 else #t~mem31 % 4294967296 % 4294967296 - 4294967296);call write~real(#t~union32, ~#ew_u~1.base, ~#ew_u~1.offset, 8);havoc #t~mem31;havoc #t~union32;call #t~mem33 := read~int(~#ew_u~1.base, ~#ew_u~1.offset, 4);~ly~0 := #t~mem33;call write~real(#t~union34, ~#ew_u~1.base, ~#ew_u~1.offset, 8);havoc #t~union34;havoc #t~mem33;call ULTIMATE.dealloc(~#ew_u~1.base, ~#ew_u~1.offset);havoc ~#ew_u~1.base, ~#ew_u~1.offset; VAL [__ieee754_atan2_~hx~1=5, __ieee754_atan2_~hy~0=2, __ieee754_atan2_~lx~0=113, __ieee754_atan2_~ly~0=93, __ieee754_atan2_~x=108.0, __ieee754_atan2_~y=0.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=108.0, |__ieee754_atan2_#in~y|=0.0, |~#aT_atan~0.base|=99, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=101, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=90, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] goto; VAL [__ieee754_atan2_~hx~1=5, __ieee754_atan2_~hy~0=2, __ieee754_atan2_~lx~0=113, __ieee754_atan2_~ly~0=93, __ieee754_atan2_~x=108.0, __ieee754_atan2_~y=0.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=108.0, |__ieee754_atan2_#in~y|=0.0, |~#aT_atan~0.base|=99, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=101, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=90, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] ~iy~0 := ~bitwiseAnd(~hy~0, 2147483647); VAL [__ieee754_atan2_~hx~1=5, __ieee754_atan2_~hy~0=2, __ieee754_atan2_~lx~0=113, __ieee754_atan2_~ly~0=93, __ieee754_atan2_~x=108.0, __ieee754_atan2_~y=0.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=108.0, |__ieee754_atan2_#in~y|=0.0, |~#aT_atan~0.base|=99, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=101, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=90, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] assume ~bitwiseOr(~ix~1, ~bitwiseOr(~lx~0, -~lx~0) / 2147483648) % 4294967296 > 2146435072 || ~bitwiseOr(~iy~0, ~bitwiseOr(~ly~0, -~ly~0) / 2147483648) % 4294967296 > 2146435072;#res := ~someBinaryArithmeticDOUBLEoperation(~x, ~y); VAL [__ieee754_atan2_~hx~1=5, __ieee754_atan2_~hy~0=2, __ieee754_atan2_~lx~0=113, __ieee754_atan2_~ly~0=93, __ieee754_atan2_~x=108.0, __ieee754_atan2_~y=0.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=108.0, |__ieee754_atan2_#in~y|=0.0, |~#aT_atan~0.base|=99, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=101, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=90, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] assume true; VAL [__ieee754_atan2_~hx~1=5, __ieee754_atan2_~hy~0=2, __ieee754_atan2_~lx~0=113, __ieee754_atan2_~ly~0=93, __ieee754_atan2_~x=108.0, __ieee754_atan2_~y=0.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=108.0, |__ieee754_atan2_#in~y|=0.0, |~#aT_atan~0.base|=99, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=101, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=90, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] RET #327#return; VAL [main_~x~0=108.0, main_~y~0=0.0, |#NULL.base|=0, |#NULL.offset|=0, |main_#t~ret49|=111.0, |~#aT_atan~0.base|=99, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=101, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=90, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] ~res~0 := #t~ret49;havoc #t~ret49; VAL [main_~res~0=111.0, main_~x~0=108.0, main_~y~0=0.0, |#NULL.base|=0, |#NULL.offset|=0, |~#aT_atan~0.base|=99, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=101, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=90, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] assume ~someBinaryDOUBLEComparisonOperation(~res~0, ~pi~0); VAL [main_~res~0=111.0, main_~x~0=108.0, main_~y~0=0.0, |#NULL.base|=0, |#NULL.offset|=0, |~#aT_atan~0.base|=99, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=101, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=90, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] assume !false; VAL [main_~res~0=111.0, main_~x~0=108.0, main_~y~0=0.0, |#NULL.base|=0, |#NULL.offset|=0, |~#aT_atan~0.base|=99, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=101, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=90, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] CALL call ULTIMATE.init(); VAL [#NULL.base=115, #NULL.offset=106, old(#NULL.base)=115, old(#NULL.offset)=106, old(~#aT_atan~0.base)=97, old(~#aT_atan~0.offset)=104, old(~#atanhi_atan~0.base)=100, old(~#atanhi_atan~0.offset)=109, old(~#atanlo_atan~0.base)=92, old(~#atanlo_atan~0.offset)=119, old(~huge_atan~0)=117.0, old(~one_atan~0)=105.0, old(~pi_lo_atan2~0)=103.0, old(~pi_o_2~0)=89.0, old(~pi_o_4~0)=107.0, old(~pi~0)=112.0, old(~tiny_atan2~0)=118.0, old(~zero_atan2~0)=96.0, ~#aT_atan~0.base=97, ~#aT_atan~0.offset=104, ~#atanhi_atan~0.base=100, ~#atanhi_atan~0.offset=109, ~#atanlo_atan~0.base=92, ~#atanlo_atan~0.offset=119, ~huge_atan~0=117.0, ~one_atan~0=105.0, ~pi_lo_atan2~0=103.0, ~pi_o_2~0=89.0, ~pi_o_4~0=107.0, ~pi~0=112.0, ~tiny_atan2~0=118.0, ~zero_atan2~0=96.0] [?] #NULL.base, #NULL.offset := 0, 0; [?] #valid := #valid[0 := 0]; [L37-L42] call ~#atanhi_atan~0.base, ~#atanhi_atan~0.offset := #Ultimate.alloc(32); [L37-L42] call write~init~real(0.4636476090008061, ~#atanhi_atan~0.base, ~#atanhi_atan~0.offset, 8); [L37-L42] call write~init~real(0.7853981633974483, ~#atanhi_atan~0.base, 8 + ~#atanhi_atan~0.offset, 8); [L37-L42] call write~init~real(0.982793723247329, ~#atanhi_atan~0.base, 16 + ~#atanhi_atan~0.offset, 8); [L37-L42] call write~init~real(1.5707963267948966, ~#atanhi_atan~0.base, 24 + ~#atanhi_atan~0.offset, 8); [L44-L49] call ~#atanlo_atan~0.base, ~#atanlo_atan~0.offset := #Ultimate.alloc(32); [L44-L49] call write~init~real(2.2698777452961687E-17, ~#atanlo_atan~0.base, ~#atanlo_atan~0.offset, 8); [L44-L49] call write~init~real(3.061616997868383E-17, ~#atanlo_atan~0.base, 8 + ~#atanlo_atan~0.offset, 8); [L44-L49] call write~init~real(1.3903311031230998E-17, ~#atanlo_atan~0.base, 16 + ~#atanlo_atan~0.offset, 8); [L44-L49] call write~init~real(6.123233995736766E-17, ~#atanlo_atan~0.base, 24 + ~#atanlo_atan~0.offset, 8); [L51-L58] call ~#aT_atan~0.base, ~#aT_atan~0.offset := #Ultimate.alloc(88); [L51-L58] call write~init~real(0.3333333333333293, ~#aT_atan~0.base, ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(~someUnaryDOUBLEoperation(0.19999999999876483), ~#aT_atan~0.base, 8 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(0.14285714272503466, ~#aT_atan~0.base, 16 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(~someUnaryDOUBLEoperation(0.11111110405462356), ~#aT_atan~0.base, 24 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(0.09090887133436507, ~#aT_atan~0.base, 32 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(~someUnaryDOUBLEoperation(0.0769187620504483), ~#aT_atan~0.base, 40 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(0.06661073137387531, ~#aT_atan~0.base, 48 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(~someUnaryDOUBLEoperation(0.058335701337905735), ~#aT_atan~0.base, 56 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(0.049768779946159324, ~#aT_atan~0.base, 64 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(~someUnaryDOUBLEoperation(0.036531572744216916), ~#aT_atan~0.base, 72 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(0.016285820115365782, ~#aT_atan~0.base, 80 + ~#aT_atan~0.offset, 8); [L60-L62] ~one_atan~0 := 1.0; [L60-L62] ~pi_o_4~0 := 0.7853981633974483; [L60-L62] ~pi_o_2~0 := 1.5707963267948966; [L60-L62] ~pi~0 := 3.141592653589793; [L60-L62] ~huge_atan~0 := 1.0E300; [L139-L140] ~tiny_atan2~0 := 1.0E-300; [L139-L140] ~zero_atan2~0 := 0.0; [L139-L140] ~pi_lo_atan2~0 := 1.2246467991473532E-16; VAL [#NULL.base=0, #NULL.offset=0, old(#NULL.base)=115, old(#NULL.offset)=106, old(~#aT_atan~0.base)=97, old(~#aT_atan~0.offset)=104, old(~#atanhi_atan~0.base)=100, old(~#atanhi_atan~0.offset)=109, old(~#atanlo_atan~0.base)=92, old(~#atanlo_atan~0.offset)=119, old(~huge_atan~0)=117.0, old(~one_atan~0)=105.0, old(~pi_lo_atan2~0)=103.0, old(~pi_o_2~0)=89.0, old(~pi_o_4~0)=107.0, old(~pi~0)=112.0, old(~tiny_atan2~0)=118.0, old(~zero_atan2~0)=96.0, ~#aT_atan~0.base=99, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=101, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=90, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [?] ensures true; VAL [#NULL.base=0, #NULL.offset=0, old(#NULL.base)=115, old(#NULL.offset)=106, old(~#aT_atan~0.base)=97, old(~#aT_atan~0.offset)=104, old(~#atanhi_atan~0.base)=100, old(~#atanhi_atan~0.offset)=109, old(~#atanlo_atan~0.base)=92, old(~#atanlo_atan~0.offset)=119, old(~huge_atan~0)=117.0, old(~one_atan~0)=105.0, old(~pi_lo_atan2~0)=103.0, old(~pi_o_2~0)=89.0, old(~pi_o_4~0)=107.0, old(~pi~0)=112.0, old(~tiny_atan2~0)=118.0, old(~zero_atan2~0)=96.0, ~#aT_atan~0.base=99, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=101, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=90, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [?] RET call ULTIMATE.init(); VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=99, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=101, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=90, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [?] CALL call #t~ret50 := main(); VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=99, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=101, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=90, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L250] ~x~0 := #t~nondet48; [L250] havoc #t~nondet48; [L251] ~y~0 := 0.0; VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=99, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=101, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=90, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=108.0, ~y~0=0.0, ~zero_atan2~0=0.0] [L253-L262] assume ~someBinaryDOUBLEComparisonOperation(~x~0, 0.0); VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=99, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=101, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=90, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=108.0, ~y~0=0.0, ~zero_atan2~0=0.0] [L255] CALL call #t~ret49 := __ieee754_atan2(~y~0, ~x~0); VAL [#in~x=108.0, #in~y=0.0, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=99, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=101, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=90, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L142-L242] ~y := #in~y; [L142-L242] ~x := #in~x; [L143] havoc ~z~1; [L144] havoc ~k~0; [L144] havoc ~m~0; [L144] havoc ~hx~1; [L144] havoc ~hy~0; [L144] havoc ~ix~1; [L144] havoc ~iy~0; [L145] havoc ~lx~0; [L145] havoc ~ly~0; VAL [#in~x=108.0, #in~y=0.0, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=99, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=101, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=90, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=108.0, ~y=0.0, ~zero_atan2~0=0.0] [L148] call ~#ew_u~0.base, ~#ew_u~0.offset := #Ultimate.alloc(8); [L149] call write~real(~x, ~#ew_u~0.base, ~#ew_u~0.offset, 8); [L150] call #t~mem27 := read~int(~#ew_u~0.base, 4 + ~#ew_u~0.offset, 4); [L150] ~hx~1 := (if #t~mem27 % 4294967296 % 4294967296 <= 2147483647 then #t~mem27 % 4294967296 % 4294967296 else #t~mem27 % 4294967296 % 4294967296 - 4294967296); [L150] call write~real(#t~union28, ~#ew_u~0.base, ~#ew_u~0.offset, 8); [L150] havoc #t~mem27; [L150] havoc #t~union28; [L151] call #t~mem29 := read~int(~#ew_u~0.base, ~#ew_u~0.offset, 4); [L151] ~lx~0 := #t~mem29; [L151] call write~real(#t~union30, ~#ew_u~0.base, ~#ew_u~0.offset, 8); [L151] havoc #t~mem29; [L151] havoc #t~union30; [L148] call ULTIMATE.dealloc(~#ew_u~0.base, ~#ew_u~0.offset); [L148] havoc ~#ew_u~0.base, ~#ew_u~0.offset; VAL [#in~x=108.0, #in~y=0.0, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=99, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=101, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=90, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=5, ~lx~0=113, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=108.0, ~y=0.0, ~zero_atan2~0=0.0] [L153] ~ix~1 := ~bitwiseAnd(~hx~1, 2147483647); VAL [#in~x=108.0, #in~y=0.0, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=99, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=101, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=90, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=5, ~lx~0=113, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=108.0, ~y=0.0, ~zero_atan2~0=0.0] [L155] call ~#ew_u~1.base, ~#ew_u~1.offset := #Ultimate.alloc(8); [L156] call write~real(~y, ~#ew_u~1.base, ~#ew_u~1.offset, 8); [L157] call #t~mem31 := read~int(~#ew_u~1.base, 4 + ~#ew_u~1.offset, 4); [L157] ~hy~0 := (if #t~mem31 % 4294967296 % 4294967296 <= 2147483647 then #t~mem31 % 4294967296 % 4294967296 else #t~mem31 % 4294967296 % 4294967296 - 4294967296); [L157] call write~real(#t~union32, ~#ew_u~1.base, ~#ew_u~1.offset, 8); [L157] havoc #t~mem31; [L157] havoc #t~union32; [L158] call #t~mem33 := read~int(~#ew_u~1.base, ~#ew_u~1.offset, 4); [L158] ~ly~0 := #t~mem33; [L158] call write~real(#t~union34, ~#ew_u~1.base, ~#ew_u~1.offset, 8); [L158] havoc #t~union34; [L158] havoc #t~mem33; [L155] call ULTIMATE.dealloc(~#ew_u~1.base, ~#ew_u~1.offset); [L155] havoc ~#ew_u~1.base, ~#ew_u~1.offset; VAL [#in~x=108.0, #in~y=0.0, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=99, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=101, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=90, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=5, ~hy~0=2, ~lx~0=113, ~ly~0=93, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=108.0, ~y=0.0, ~zero_atan2~0=0.0] [L160] ~iy~0 := ~bitwiseAnd(~hy~0, 2147483647); VAL [#in~x=108.0, #in~y=0.0, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=99, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=101, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=90, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=5, ~hy~0=2, ~lx~0=113, ~ly~0=93, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=108.0, ~y=0.0, ~zero_atan2~0=0.0] [L161-L163] assume ~bitwiseOr(~ix~1, ~bitwiseOr(~lx~0, -~lx~0) / 2147483648) % 4294967296 > 2146435072 || ~bitwiseOr(~iy~0, ~bitwiseOr(~ly~0, -~ly~0) / 2147483648) % 4294967296 > 2146435072; [L163] #res := ~someBinaryArithmeticDOUBLEoperation(~x, ~y); VAL [#in~x=108.0, #in~y=0.0, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=99, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=101, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=90, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=5, ~hy~0=2, ~lx~0=113, ~ly~0=93, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=108.0, ~y=0.0, ~zero_atan2~0=0.0] [L142-L242] ensures true; VAL [#in~x=108.0, #in~y=0.0, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=99, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=101, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=90, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=5, ~hy~0=2, ~lx~0=113, ~ly~0=93, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=108.0, ~y=0.0, ~zero_atan2~0=0.0] [L255] RET call #t~ret49 := __ieee754_atan2(~y~0, ~x~0); VAL [#NULL.base=0, #NULL.offset=0, #t~ret49=111.0, ~#aT_atan~0.base=99, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=101, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=90, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=108.0, ~y~0=0.0, ~zero_atan2~0=0.0] [L255] ~res~0 := #t~ret49; [L255] havoc #t~ret49; VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=99, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=101, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=90, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~res~0=111.0, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=108.0, ~y~0=0.0, ~zero_atan2~0=0.0] [L258-L261] assume ~someBinaryDOUBLEComparisonOperation(~res~0, ~pi~0); VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=99, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=101, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=90, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~res~0=111.0, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=108.0, ~y~0=0.0, ~zero_atan2~0=0.0] [L259] assert false; VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=99, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=101, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=90, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~res~0=111.0, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=108.0, ~y~0=0.0, ~zero_atan2~0=0.0] ----- ----- class de.uni_freiburg.informatik.ultimate.boogie.preprocessor.BoogiePreprocessorBacktranslator [?] CALL call ULTIMATE.init(); VAL [#NULL.base=115, #NULL.offset=106, old(#NULL.base)=115, old(#NULL.offset)=106, old(~#aT_atan~0.base)=97, old(~#aT_atan~0.offset)=104, old(~#atanhi_atan~0.base)=100, old(~#atanhi_atan~0.offset)=109, old(~#atanlo_atan~0.base)=92, old(~#atanlo_atan~0.offset)=119, old(~huge_atan~0)=117.0, old(~one_atan~0)=105.0, old(~pi_lo_atan2~0)=103.0, old(~pi_o_2~0)=89.0, old(~pi_o_4~0)=107.0, old(~pi~0)=112.0, old(~tiny_atan2~0)=118.0, old(~zero_atan2~0)=96.0, ~#aT_atan~0.base=97, ~#aT_atan~0.offset=104, ~#atanhi_atan~0.base=100, ~#atanhi_atan~0.offset=109, ~#atanlo_atan~0.base=92, ~#atanlo_atan~0.offset=119, ~huge_atan~0=117.0, ~one_atan~0=105.0, ~pi_lo_atan2~0=103.0, ~pi_o_2~0=89.0, ~pi_o_4~0=107.0, ~pi~0=112.0, ~tiny_atan2~0=118.0, ~zero_atan2~0=96.0] [?] #NULL.base, #NULL.offset := 0, 0; [?] #valid := #valid[0 := 0]; [L37-L42] call ~#atanhi_atan~0.base, ~#atanhi_atan~0.offset := #Ultimate.alloc(32); [L37-L42] call write~init~real(0.4636476090008061, ~#atanhi_atan~0.base, ~#atanhi_atan~0.offset, 8); [L37-L42] call write~init~real(0.7853981633974483, ~#atanhi_atan~0.base, 8 + ~#atanhi_atan~0.offset, 8); [L37-L42] call write~init~real(0.982793723247329, ~#atanhi_atan~0.base, 16 + ~#atanhi_atan~0.offset, 8); [L37-L42] call write~init~real(1.5707963267948966, ~#atanhi_atan~0.base, 24 + ~#atanhi_atan~0.offset, 8); [L44-L49] call ~#atanlo_atan~0.base, ~#atanlo_atan~0.offset := #Ultimate.alloc(32); [L44-L49] call write~init~real(2.2698777452961687E-17, ~#atanlo_atan~0.base, ~#atanlo_atan~0.offset, 8); [L44-L49] call write~init~real(3.061616997868383E-17, ~#atanlo_atan~0.base, 8 + ~#atanlo_atan~0.offset, 8); [L44-L49] call write~init~real(1.3903311031230998E-17, ~#atanlo_atan~0.base, 16 + ~#atanlo_atan~0.offset, 8); [L44-L49] call write~init~real(6.123233995736766E-17, ~#atanlo_atan~0.base, 24 + ~#atanlo_atan~0.offset, 8); [L51-L58] call ~#aT_atan~0.base, ~#aT_atan~0.offset := #Ultimate.alloc(88); [L51-L58] call write~init~real(0.3333333333333293, ~#aT_atan~0.base, ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(~someUnaryDOUBLEoperation(0.19999999999876483), ~#aT_atan~0.base, 8 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(0.14285714272503466, ~#aT_atan~0.base, 16 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(~someUnaryDOUBLEoperation(0.11111110405462356), ~#aT_atan~0.base, 24 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(0.09090887133436507, ~#aT_atan~0.base, 32 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(~someUnaryDOUBLEoperation(0.0769187620504483), ~#aT_atan~0.base, 40 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(0.06661073137387531, ~#aT_atan~0.base, 48 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(~someUnaryDOUBLEoperation(0.058335701337905735), ~#aT_atan~0.base, 56 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(0.049768779946159324, ~#aT_atan~0.base, 64 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(~someUnaryDOUBLEoperation(0.036531572744216916), ~#aT_atan~0.base, 72 + ~#aT_atan~0.offset, 8); [L51-L58] call write~init~real(0.016285820115365782, ~#aT_atan~0.base, 80 + ~#aT_atan~0.offset, 8); [L60-L62] ~one_atan~0 := 1.0; [L60-L62] ~pi_o_4~0 := 0.7853981633974483; [L60-L62] ~pi_o_2~0 := 1.5707963267948966; [L60-L62] ~pi~0 := 3.141592653589793; [L60-L62] ~huge_atan~0 := 1.0E300; [L139-L140] ~tiny_atan2~0 := 1.0E-300; [L139-L140] ~zero_atan2~0 := 0.0; [L139-L140] ~pi_lo_atan2~0 := 1.2246467991473532E-16; VAL [#NULL.base=0, #NULL.offset=0, old(#NULL.base)=115, old(#NULL.offset)=106, old(~#aT_atan~0.base)=97, old(~#aT_atan~0.offset)=104, old(~#atanhi_atan~0.base)=100, old(~#atanhi_atan~0.offset)=109, old(~#atanlo_atan~0.base)=92, old(~#atanlo_atan~0.offset)=119, old(~huge_atan~0)=117.0, old(~one_atan~0)=105.0, old(~pi_lo_atan2~0)=103.0, old(~pi_o_2~0)=89.0, old(~pi_o_4~0)=107.0, old(~pi~0)=112.0, old(~tiny_atan2~0)=118.0, old(~zero_atan2~0)=96.0, ~#aT_atan~0.base=99, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=101, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=90, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [?] ensures true; VAL [#NULL.base=0, #NULL.offset=0, old(#NULL.base)=115, old(#NULL.offset)=106, old(~#aT_atan~0.base)=97, old(~#aT_atan~0.offset)=104, old(~#atanhi_atan~0.base)=100, old(~#atanhi_atan~0.offset)=109, old(~#atanlo_atan~0.base)=92, old(~#atanlo_atan~0.offset)=119, old(~huge_atan~0)=117.0, old(~one_atan~0)=105.0, old(~pi_lo_atan2~0)=103.0, old(~pi_o_2~0)=89.0, old(~pi_o_4~0)=107.0, old(~pi~0)=112.0, old(~tiny_atan2~0)=118.0, old(~zero_atan2~0)=96.0, ~#aT_atan~0.base=99, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=101, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=90, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [?] RET call ULTIMATE.init(); VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=99, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=101, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=90, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [?] CALL call #t~ret50 := main(); VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=99, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=101, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=90, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L250] ~x~0 := #t~nondet48; [L250] havoc #t~nondet48; [L251] ~y~0 := 0.0; VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=99, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=101, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=90, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=108.0, ~y~0=0.0, ~zero_atan2~0=0.0] [L253-L262] assume ~someBinaryDOUBLEComparisonOperation(~x~0, 0.0); VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=99, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=101, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=90, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=108.0, ~y~0=0.0, ~zero_atan2~0=0.0] [L255] CALL call #t~ret49 := __ieee754_atan2(~y~0, ~x~0); VAL [#in~x=108.0, #in~y=0.0, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=99, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=101, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=90, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L142-L242] ~y := #in~y; [L142-L242] ~x := #in~x; [L143] havoc ~z~1; [L144] havoc ~k~0; [L144] havoc ~m~0; [L144] havoc ~hx~1; [L144] havoc ~hy~0; [L144] havoc ~ix~1; [L144] havoc ~iy~0; [L145] havoc ~lx~0; [L145] havoc ~ly~0; VAL [#in~x=108.0, #in~y=0.0, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=99, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=101, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=90, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=108.0, ~y=0.0, ~zero_atan2~0=0.0] [L148] call ~#ew_u~0.base, ~#ew_u~0.offset := #Ultimate.alloc(8); [L149] call write~real(~x, ~#ew_u~0.base, ~#ew_u~0.offset, 8); [L150] call #t~mem27 := read~int(~#ew_u~0.base, 4 + ~#ew_u~0.offset, 4); [L150] ~hx~1 := (if #t~mem27 % 4294967296 % 4294967296 <= 2147483647 then #t~mem27 % 4294967296 % 4294967296 else #t~mem27 % 4294967296 % 4294967296 - 4294967296); [L150] call write~real(#t~union28, ~#ew_u~0.base, ~#ew_u~0.offset, 8); [L150] havoc #t~mem27; [L150] havoc #t~union28; [L151] call #t~mem29 := read~int(~#ew_u~0.base, ~#ew_u~0.offset, 4); [L151] ~lx~0 := #t~mem29; [L151] call write~real(#t~union30, ~#ew_u~0.base, ~#ew_u~0.offset, 8); [L151] havoc #t~mem29; [L151] havoc #t~union30; [L148] call ULTIMATE.dealloc(~#ew_u~0.base, ~#ew_u~0.offset); [L148] havoc ~#ew_u~0.base, ~#ew_u~0.offset; VAL [#in~x=108.0, #in~y=0.0, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=99, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=101, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=90, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=5, ~lx~0=113, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=108.0, ~y=0.0, ~zero_atan2~0=0.0] [L153] ~ix~1 := ~bitwiseAnd(~hx~1, 2147483647); VAL [#in~x=108.0, #in~y=0.0, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=99, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=101, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=90, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=5, ~lx~0=113, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=108.0, ~y=0.0, ~zero_atan2~0=0.0] [L155] call ~#ew_u~1.base, ~#ew_u~1.offset := #Ultimate.alloc(8); [L156] call write~real(~y, ~#ew_u~1.base, ~#ew_u~1.offset, 8); [L157] call #t~mem31 := read~int(~#ew_u~1.base, 4 + ~#ew_u~1.offset, 4); [L157] ~hy~0 := (if #t~mem31 % 4294967296 % 4294967296 <= 2147483647 then #t~mem31 % 4294967296 % 4294967296 else #t~mem31 % 4294967296 % 4294967296 - 4294967296); [L157] call write~real(#t~union32, ~#ew_u~1.base, ~#ew_u~1.offset, 8); [L157] havoc #t~mem31; [L157] havoc #t~union32; [L158] call #t~mem33 := read~int(~#ew_u~1.base, ~#ew_u~1.offset, 4); [L158] ~ly~0 := #t~mem33; [L158] call write~real(#t~union34, ~#ew_u~1.base, ~#ew_u~1.offset, 8); [L158] havoc #t~union34; [L158] havoc #t~mem33; [L155] call ULTIMATE.dealloc(~#ew_u~1.base, ~#ew_u~1.offset); [L155] havoc ~#ew_u~1.base, ~#ew_u~1.offset; VAL [#in~x=108.0, #in~y=0.0, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=99, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=101, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=90, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=5, ~hy~0=2, ~lx~0=113, ~ly~0=93, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=108.0, ~y=0.0, ~zero_atan2~0=0.0] [L160] ~iy~0 := ~bitwiseAnd(~hy~0, 2147483647); VAL [#in~x=108.0, #in~y=0.0, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=99, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=101, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=90, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=5, ~hy~0=2, ~lx~0=113, ~ly~0=93, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=108.0, ~y=0.0, ~zero_atan2~0=0.0] [L161-L163] assume ~bitwiseOr(~ix~1, ~bitwiseOr(~lx~0, -~lx~0) / 2147483648) % 4294967296 > 2146435072 || ~bitwiseOr(~iy~0, ~bitwiseOr(~ly~0, -~ly~0) / 2147483648) % 4294967296 > 2146435072; [L163] #res := ~someBinaryArithmeticDOUBLEoperation(~x, ~y); VAL [#in~x=108.0, #in~y=0.0, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=99, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=101, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=90, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=5, ~hy~0=2, ~lx~0=113, ~ly~0=93, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=108.0, ~y=0.0, ~zero_atan2~0=0.0] [L142-L242] ensures true; VAL [#in~x=108.0, #in~y=0.0, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=99, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=101, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=90, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=5, ~hy~0=2, ~lx~0=113, ~ly~0=93, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=108.0, ~y=0.0, ~zero_atan2~0=0.0] [L255] RET call #t~ret49 := __ieee754_atan2(~y~0, ~x~0); VAL [#NULL.base=0, #NULL.offset=0, #t~ret49=111.0, ~#aT_atan~0.base=99, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=101, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=90, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=108.0, ~y~0=0.0, ~zero_atan2~0=0.0] [L255] ~res~0 := #t~ret49; [L255] havoc #t~ret49; VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=99, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=101, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=90, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~res~0=111.0, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=108.0, ~y~0=0.0, ~zero_atan2~0=0.0] [L258-L261] assume ~someBinaryDOUBLEComparisonOperation(~res~0, ~pi~0); VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=99, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=101, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=90, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~res~0=111.0, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=108.0, ~y~0=0.0, ~zero_atan2~0=0.0] [L259] assert false; VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=99, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=101, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=90, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~res~0=111.0, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=108.0, ~y~0=0.0, ~zero_atan2~0=0.0] [?] CALL call ULTIMATE.init(); VAL [#NULL!base=115, #NULL!offset=106, old(#NULL!base)=115, old(#NULL!offset)=106, old(~#aT_atan~0!base)=97, old(~#aT_atan~0!offset)=104, old(~#atanhi_atan~0!base)=100, old(~#atanhi_atan~0!offset)=109, old(~#atanlo_atan~0!base)=92, old(~#atanlo_atan~0!offset)=119, old(~huge_atan~0)=117.0, old(~one_atan~0)=105.0, old(~pi_lo_atan2~0)=103.0, old(~pi_o_2~0)=89.0, old(~pi_o_4~0)=107.0, old(~pi~0)=112.0, old(~tiny_atan2~0)=118.0, old(~zero_atan2~0)=96.0, ~#aT_atan~0!base=97, ~#aT_atan~0!offset=104, ~#atanhi_atan~0!base=100, ~#atanhi_atan~0!offset=109, ~#atanlo_atan~0!base=92, ~#atanlo_atan~0!offset=119, ~huge_atan~0=117.0, ~one_atan~0=105.0, ~pi_lo_atan2~0=103.0, ~pi_o_2~0=89.0, ~pi_o_4~0=107.0, ~pi~0=112.0, ~tiny_atan2~0=118.0, ~zero_atan2~0=96.0] [?] #NULL := { base: 0, offset: 0 }; [?] #valid[0] := 0; [L37-L42] FCALL call ~#atanhi_atan~0 := #Ultimate.alloc(32); [L37-L42] FCALL call write~init~real(0.4636476090008061, { base: ~#atanhi_atan~0!base, offset: ~#atanhi_atan~0!offset }, 8); [L37-L42] FCALL call write~init~real(0.7853981633974483, { base: ~#atanhi_atan~0!base, offset: 8 + ~#atanhi_atan~0!offset }, 8); [L37-L42] FCALL call write~init~real(0.982793723247329, { base: ~#atanhi_atan~0!base, offset: 16 + ~#atanhi_atan~0!offset }, 8); [L37-L42] FCALL call write~init~real(1.5707963267948966, { base: ~#atanhi_atan~0!base, offset: 24 + ~#atanhi_atan~0!offset }, 8); [L44-L49] FCALL call ~#atanlo_atan~0 := #Ultimate.alloc(32); [L44-L49] FCALL call write~init~real(2.2698777452961687E-17, { base: ~#atanlo_atan~0!base, offset: ~#atanlo_atan~0!offset }, 8); [L44-L49] FCALL call write~init~real(3.061616997868383E-17, { base: ~#atanlo_atan~0!base, offset: 8 + ~#atanlo_atan~0!offset }, 8); [L44-L49] FCALL call write~init~real(1.3903311031230998E-17, { base: ~#atanlo_atan~0!base, offset: 16 + ~#atanlo_atan~0!offset }, 8); [L44-L49] FCALL call write~init~real(6.123233995736766E-17, { base: ~#atanlo_atan~0!base, offset: 24 + ~#atanlo_atan~0!offset }, 8); [L51-L58] FCALL call ~#aT_atan~0 := #Ultimate.alloc(88); [L51-L58] FCALL call write~init~real(0.3333333333333293, { base: ~#aT_atan~0!base, offset: ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.19999999999876483), { base: ~#aT_atan~0!base, offset: 8 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.14285714272503466, { base: ~#aT_atan~0!base, offset: 16 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.11111110405462356), { base: ~#aT_atan~0!base, offset: 24 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.09090887133436507, { base: ~#aT_atan~0!base, offset: 32 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.0769187620504483), { base: ~#aT_atan~0!base, offset: 40 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.06661073137387531, { base: ~#aT_atan~0!base, offset: 48 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.058335701337905735), { base: ~#aT_atan~0!base, offset: 56 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.049768779946159324, { base: ~#aT_atan~0!base, offset: 64 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.036531572744216916), { base: ~#aT_atan~0!base, offset: 72 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.016285820115365782, { base: ~#aT_atan~0!base, offset: 80 + ~#aT_atan~0!offset }, 8); [L60-L62] ~one_atan~0 := 1.0; [L60-L62] ~pi_o_4~0 := 0.7853981633974483; [L60-L62] ~pi_o_2~0 := 1.5707963267948966; [L60-L62] ~pi~0 := 3.141592653589793; [L60-L62] ~huge_atan~0 := 1.0E300; [L139-L140] ~tiny_atan2~0 := 1.0E-300; [L139-L140] ~zero_atan2~0 := 0.0; [L139-L140] ~pi_lo_atan2~0 := 1.2246467991473532E-16; VAL [#NULL!base=0, #NULL!offset=0, old(#NULL!base)=115, old(#NULL!offset)=106, old(~#aT_atan~0!base)=97, old(~#aT_atan~0!offset)=104, old(~#atanhi_atan~0!base)=100, old(~#atanhi_atan~0!offset)=109, old(~#atanlo_atan~0!base)=92, old(~#atanlo_atan~0!offset)=119, old(~huge_atan~0)=117.0, old(~one_atan~0)=105.0, old(~pi_lo_atan2~0)=103.0, old(~pi_o_2~0)=89.0, old(~pi_o_4~0)=107.0, old(~pi~0)=112.0, old(~tiny_atan2~0)=118.0, old(~zero_atan2~0)=96.0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [?] RET call ULTIMATE.init(); VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [?] CALL call #t~ret50 := main(); VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L250] ~x~0 := #t~nondet48; [L250] havoc #t~nondet48; [L251] ~y~0 := 0.0; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=108.0, ~y~0=0.0, ~zero_atan2~0=0.0] [L253] COND TRUE ~someBinaryDOUBLEComparisonOperation(~x~0, 0.0) VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=108.0, ~y~0=0.0, ~zero_atan2~0=0.0] [L255] CALL call #t~ret49 := __ieee754_atan2(~y~0, ~x~0); VAL [#in~x=108.0, #in~y=0.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L142-L242] ~y := #in~y; [L142-L242] ~x := #in~x; [L143] havoc ~z~1; [L144] havoc ~k~0; [L144] havoc ~m~0; [L144] havoc ~hx~1; [L144] havoc ~hy~0; [L144] havoc ~ix~1; [L144] havoc ~iy~0; [L145] havoc ~lx~0; [L145] havoc ~ly~0; VAL [#in~x=108.0, #in~y=0.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=108.0, ~y=0.0, ~zero_atan2~0=0.0] [L148] FCALL call ~#ew_u~0 := #Ultimate.alloc(8); [L149] FCALL call write~real(~x, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L150] FCALL call #t~mem27 := read~int({ base: ~#ew_u~0!base, offset: 4 + ~#ew_u~0!offset }, 4); [L150] ~hx~1 := (if #t~mem27 % 4294967296 % 4294967296 <= 2147483647 then #t~mem27 % 4294967296 % 4294967296 else #t~mem27 % 4294967296 % 4294967296 - 4294967296); [L150] FCALL call write~real(#t~union28, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L150] havoc #t~mem27; [L150] havoc #t~union28; [L151] FCALL call #t~mem29 := read~int({ base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 4); [L151] ~lx~0 := #t~mem29; [L151] FCALL call write~real(#t~union30, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L151] havoc #t~mem29; [L151] havoc #t~union30; [L148] FCALL call ULTIMATE.dealloc(~#ew_u~0); [L148] havoc ~#ew_u~0; VAL [#in~x=108.0, #in~y=0.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=5, ~lx~0=113, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=108.0, ~y=0.0, ~zero_atan2~0=0.0] [L153] ~ix~1 := ~bitwiseAnd(~hx~1, 2147483647); VAL [#in~x=108.0, #in~y=0.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=5, ~lx~0=113, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=108.0, ~y=0.0, ~zero_atan2~0=0.0] [L155] FCALL call ~#ew_u~1 := #Ultimate.alloc(8); [L156] FCALL call write~real(~y, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L157] FCALL call #t~mem31 := read~int({ base: ~#ew_u~1!base, offset: 4 + ~#ew_u~1!offset }, 4); [L157] ~hy~0 := (if #t~mem31 % 4294967296 % 4294967296 <= 2147483647 then #t~mem31 % 4294967296 % 4294967296 else #t~mem31 % 4294967296 % 4294967296 - 4294967296); [L157] FCALL call write~real(#t~union32, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L157] havoc #t~mem31; [L157] havoc #t~union32; [L158] FCALL call #t~mem33 := read~int({ base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 4); [L158] ~ly~0 := #t~mem33; [L158] FCALL call write~real(#t~union34, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L158] havoc #t~union34; [L158] havoc #t~mem33; [L155] FCALL call ULTIMATE.dealloc(~#ew_u~1); [L155] havoc ~#ew_u~1; VAL [#in~x=108.0, #in~y=0.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=5, ~hy~0=2, ~lx~0=113, ~ly~0=93, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=108.0, ~y=0.0, ~zero_atan2~0=0.0] [L160] ~iy~0 := ~bitwiseAnd(~hy~0, 2147483647); VAL [#in~x=108.0, #in~y=0.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=5, ~hy~0=2, ~lx~0=113, ~ly~0=93, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=108.0, ~y=0.0, ~zero_atan2~0=0.0] [L161-L162] COND TRUE ~bitwiseOr(~ix~1, ~bitwiseOr(~lx~0, -~lx~0) / 2147483648) % 4294967296 > 2146435072 || ~bitwiseOr(~iy~0, ~bitwiseOr(~ly~0, -~ly~0) / 2147483648) % 4294967296 > 2146435072 [L163] #res := ~someBinaryArithmeticDOUBLEoperation(~x, ~y); VAL [#in~x=108.0, #in~y=0.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=5, ~hy~0=2, ~lx~0=113, ~ly~0=93, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=108.0, ~y=0.0, ~zero_atan2~0=0.0] [L255] RET call #t~ret49 := __ieee754_atan2(~y~0, ~x~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret49=111.0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=108.0, ~y~0=0.0, ~zero_atan2~0=0.0] [L255] ~res~0 := #t~ret49; [L255] havoc #t~ret49; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~res~0=111.0, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=108.0, ~y~0=0.0, ~zero_atan2~0=0.0] [L258] COND TRUE ~someBinaryDOUBLEComparisonOperation(~res~0, ~pi~0) VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~res~0=111.0, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=108.0, ~y~0=0.0, ~zero_atan2~0=0.0] [L259] assert false; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~res~0=111.0, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=108.0, ~y~0=0.0, ~zero_atan2~0=0.0] ----- ----- class de.uni_freiburg.informatik.ultimate.boogie.procedureinliner.backtranslation.InlinerBacktranslator [?] CALL call ULTIMATE.init(); VAL [#NULL!base=115, #NULL!offset=106, old(#NULL!base)=115, old(#NULL!offset)=106, old(~#aT_atan~0!base)=97, old(~#aT_atan~0!offset)=104, old(~#atanhi_atan~0!base)=100, old(~#atanhi_atan~0!offset)=109, old(~#atanlo_atan~0!base)=92, old(~#atanlo_atan~0!offset)=119, old(~huge_atan~0)=117.0, old(~one_atan~0)=105.0, old(~pi_lo_atan2~0)=103.0, old(~pi_o_2~0)=89.0, old(~pi_o_4~0)=107.0, old(~pi~0)=112.0, old(~tiny_atan2~0)=118.0, old(~zero_atan2~0)=96.0, ~#aT_atan~0!base=97, ~#aT_atan~0!offset=104, ~#atanhi_atan~0!base=100, ~#atanhi_atan~0!offset=109, ~#atanlo_atan~0!base=92, ~#atanlo_atan~0!offset=119, ~huge_atan~0=117.0, ~one_atan~0=105.0, ~pi_lo_atan2~0=103.0, ~pi_o_2~0=89.0, ~pi_o_4~0=107.0, ~pi~0=112.0, ~tiny_atan2~0=118.0, ~zero_atan2~0=96.0] [?] #NULL := { base: 0, offset: 0 }; [?] #valid[0] := 0; [L37-L42] FCALL call ~#atanhi_atan~0 := #Ultimate.alloc(32); [L37-L42] FCALL call write~init~real(0.4636476090008061, { base: ~#atanhi_atan~0!base, offset: ~#atanhi_atan~0!offset }, 8); [L37-L42] FCALL call write~init~real(0.7853981633974483, { base: ~#atanhi_atan~0!base, offset: 8 + ~#atanhi_atan~0!offset }, 8); [L37-L42] FCALL call write~init~real(0.982793723247329, { base: ~#atanhi_atan~0!base, offset: 16 + ~#atanhi_atan~0!offset }, 8); [L37-L42] FCALL call write~init~real(1.5707963267948966, { base: ~#atanhi_atan~0!base, offset: 24 + ~#atanhi_atan~0!offset }, 8); [L44-L49] FCALL call ~#atanlo_atan~0 := #Ultimate.alloc(32); [L44-L49] FCALL call write~init~real(2.2698777452961687E-17, { base: ~#atanlo_atan~0!base, offset: ~#atanlo_atan~0!offset }, 8); [L44-L49] FCALL call write~init~real(3.061616997868383E-17, { base: ~#atanlo_atan~0!base, offset: 8 + ~#atanlo_atan~0!offset }, 8); [L44-L49] FCALL call write~init~real(1.3903311031230998E-17, { base: ~#atanlo_atan~0!base, offset: 16 + ~#atanlo_atan~0!offset }, 8); [L44-L49] FCALL call write~init~real(6.123233995736766E-17, { base: ~#atanlo_atan~0!base, offset: 24 + ~#atanlo_atan~0!offset }, 8); [L51-L58] FCALL call ~#aT_atan~0 := #Ultimate.alloc(88); [L51-L58] FCALL call write~init~real(0.3333333333333293, { base: ~#aT_atan~0!base, offset: ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.19999999999876483), { base: ~#aT_atan~0!base, offset: 8 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.14285714272503466, { base: ~#aT_atan~0!base, offset: 16 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.11111110405462356), { base: ~#aT_atan~0!base, offset: 24 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.09090887133436507, { base: ~#aT_atan~0!base, offset: 32 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.0769187620504483), { base: ~#aT_atan~0!base, offset: 40 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.06661073137387531, { base: ~#aT_atan~0!base, offset: 48 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.058335701337905735), { base: ~#aT_atan~0!base, offset: 56 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.049768779946159324, { base: ~#aT_atan~0!base, offset: 64 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.036531572744216916), { base: ~#aT_atan~0!base, offset: 72 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.016285820115365782, { base: ~#aT_atan~0!base, offset: 80 + ~#aT_atan~0!offset }, 8); [L60-L62] ~one_atan~0 := 1.0; [L60-L62] ~pi_o_4~0 := 0.7853981633974483; [L60-L62] ~pi_o_2~0 := 1.5707963267948966; [L60-L62] ~pi~0 := 3.141592653589793; [L60-L62] ~huge_atan~0 := 1.0E300; [L139-L140] ~tiny_atan2~0 := 1.0E-300; [L139-L140] ~zero_atan2~0 := 0.0; [L139-L140] ~pi_lo_atan2~0 := 1.2246467991473532E-16; VAL [#NULL!base=0, #NULL!offset=0, old(#NULL!base)=115, old(#NULL!offset)=106, old(~#aT_atan~0!base)=97, old(~#aT_atan~0!offset)=104, old(~#atanhi_atan~0!base)=100, old(~#atanhi_atan~0!offset)=109, old(~#atanlo_atan~0!base)=92, old(~#atanlo_atan~0!offset)=119, old(~huge_atan~0)=117.0, old(~one_atan~0)=105.0, old(~pi_lo_atan2~0)=103.0, old(~pi_o_2~0)=89.0, old(~pi_o_4~0)=107.0, old(~pi~0)=112.0, old(~tiny_atan2~0)=118.0, old(~zero_atan2~0)=96.0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [?] RET call ULTIMATE.init(); VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [?] CALL call #t~ret50 := main(); VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L250] ~x~0 := #t~nondet48; [L250] havoc #t~nondet48; [L251] ~y~0 := 0.0; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=108.0, ~y~0=0.0, ~zero_atan2~0=0.0] [L253] COND TRUE ~someBinaryDOUBLEComparisonOperation(~x~0, 0.0) VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=108.0, ~y~0=0.0, ~zero_atan2~0=0.0] [L255] CALL call #t~ret49 := __ieee754_atan2(~y~0, ~x~0); VAL [#in~x=108.0, #in~y=0.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L142-L242] ~y := #in~y; [L142-L242] ~x := #in~x; [L143] havoc ~z~1; [L144] havoc ~k~0; [L144] havoc ~m~0; [L144] havoc ~hx~1; [L144] havoc ~hy~0; [L144] havoc ~ix~1; [L144] havoc ~iy~0; [L145] havoc ~lx~0; [L145] havoc ~ly~0; VAL [#in~x=108.0, #in~y=0.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=108.0, ~y=0.0, ~zero_atan2~0=0.0] [L148] FCALL call ~#ew_u~0 := #Ultimate.alloc(8); [L149] FCALL call write~real(~x, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L150] FCALL call #t~mem27 := read~int({ base: ~#ew_u~0!base, offset: 4 + ~#ew_u~0!offset }, 4); [L150] ~hx~1 := (if #t~mem27 % 4294967296 % 4294967296 <= 2147483647 then #t~mem27 % 4294967296 % 4294967296 else #t~mem27 % 4294967296 % 4294967296 - 4294967296); [L150] FCALL call write~real(#t~union28, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L150] havoc #t~mem27; [L150] havoc #t~union28; [L151] FCALL call #t~mem29 := read~int({ base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 4); [L151] ~lx~0 := #t~mem29; [L151] FCALL call write~real(#t~union30, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L151] havoc #t~mem29; [L151] havoc #t~union30; [L148] FCALL call ULTIMATE.dealloc(~#ew_u~0); [L148] havoc ~#ew_u~0; VAL [#in~x=108.0, #in~y=0.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=5, ~lx~0=113, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=108.0, ~y=0.0, ~zero_atan2~0=0.0] [L153] ~ix~1 := ~bitwiseAnd(~hx~1, 2147483647); VAL [#in~x=108.0, #in~y=0.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=5, ~lx~0=113, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=108.0, ~y=0.0, ~zero_atan2~0=0.0] [L155] FCALL call ~#ew_u~1 := #Ultimate.alloc(8); [L156] FCALL call write~real(~y, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L157] FCALL call #t~mem31 := read~int({ base: ~#ew_u~1!base, offset: 4 + ~#ew_u~1!offset }, 4); [L157] ~hy~0 := (if #t~mem31 % 4294967296 % 4294967296 <= 2147483647 then #t~mem31 % 4294967296 % 4294967296 else #t~mem31 % 4294967296 % 4294967296 - 4294967296); [L157] FCALL call write~real(#t~union32, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L157] havoc #t~mem31; [L157] havoc #t~union32; [L158] FCALL call #t~mem33 := read~int({ base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 4); [L158] ~ly~0 := #t~mem33; [L158] FCALL call write~real(#t~union34, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L158] havoc #t~union34; [L158] havoc #t~mem33; [L155] FCALL call ULTIMATE.dealloc(~#ew_u~1); [L155] havoc ~#ew_u~1; VAL [#in~x=108.0, #in~y=0.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=5, ~hy~0=2, ~lx~0=113, ~ly~0=93, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=108.0, ~y=0.0, ~zero_atan2~0=0.0] [L160] ~iy~0 := ~bitwiseAnd(~hy~0, 2147483647); VAL [#in~x=108.0, #in~y=0.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=5, ~hy~0=2, ~lx~0=113, ~ly~0=93, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=108.0, ~y=0.0, ~zero_atan2~0=0.0] [L161-L162] COND TRUE ~bitwiseOr(~ix~1, ~bitwiseOr(~lx~0, -~lx~0) / 2147483648) % 4294967296 > 2146435072 || ~bitwiseOr(~iy~0, ~bitwiseOr(~ly~0, -~ly~0) / 2147483648) % 4294967296 > 2146435072 [L163] #res := ~someBinaryArithmeticDOUBLEoperation(~x, ~y); VAL [#in~x=108.0, #in~y=0.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=5, ~hy~0=2, ~lx~0=113, ~ly~0=93, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=108.0, ~y=0.0, ~zero_atan2~0=0.0] [L255] RET call #t~ret49 := __ieee754_atan2(~y~0, ~x~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret49=111.0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=108.0, ~y~0=0.0, ~zero_atan2~0=0.0] [L255] ~res~0 := #t~ret49; [L255] havoc #t~ret49; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~res~0=111.0, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=108.0, ~y~0=0.0, ~zero_atan2~0=0.0] [L258] COND TRUE ~someBinaryDOUBLEComparisonOperation(~res~0, ~pi~0) VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~res~0=111.0, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=108.0, ~y~0=0.0, ~zero_atan2~0=0.0] [L259] assert false; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~res~0=111.0, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=108.0, ~y~0=0.0, ~zero_atan2~0=0.0] [?] CALL call ULTIMATE.init(); VAL [#NULL!base=115, #NULL!offset=106, old(#NULL!base)=115, old(#NULL!offset)=106, old(~#aT_atan~0!base)=97, old(~#aT_atan~0!offset)=104, old(~#atanhi_atan~0!base)=100, old(~#atanhi_atan~0!offset)=109, old(~#atanlo_atan~0!base)=92, old(~#atanlo_atan~0!offset)=119, old(~huge_atan~0)=117.0, old(~one_atan~0)=105.0, old(~pi_lo_atan2~0)=103.0, old(~pi_o_2~0)=89.0, old(~pi_o_4~0)=107.0, old(~pi~0)=112.0, old(~tiny_atan2~0)=118.0, old(~zero_atan2~0)=96.0, ~#aT_atan~0!base=97, ~#aT_atan~0!offset=104, ~#atanhi_atan~0!base=100, ~#atanhi_atan~0!offset=109, ~#atanlo_atan~0!base=92, ~#atanlo_atan~0!offset=119, ~huge_atan~0=117.0, ~one_atan~0=105.0, ~pi_lo_atan2~0=103.0, ~pi_o_2~0=89.0, ~pi_o_4~0=107.0, ~pi~0=112.0, ~tiny_atan2~0=118.0, ~zero_atan2~0=96.0] [?] #NULL := { base: 0, offset: 0 }; [?] #valid[0] := 0; [L37-L42] FCALL call ~#atanhi_atan~0 := #Ultimate.alloc(32); [L37-L42] FCALL call write~init~real(0.4636476090008061, { base: ~#atanhi_atan~0!base, offset: ~#atanhi_atan~0!offset }, 8); [L37-L42] FCALL call write~init~real(0.7853981633974483, { base: ~#atanhi_atan~0!base, offset: 8 + ~#atanhi_atan~0!offset }, 8); [L37-L42] FCALL call write~init~real(0.982793723247329, { base: ~#atanhi_atan~0!base, offset: 16 + ~#atanhi_atan~0!offset }, 8); [L37-L42] FCALL call write~init~real(1.5707963267948966, { base: ~#atanhi_atan~0!base, offset: 24 + ~#atanhi_atan~0!offset }, 8); [L44-L49] FCALL call ~#atanlo_atan~0 := #Ultimate.alloc(32); [L44-L49] FCALL call write~init~real(2.2698777452961687E-17, { base: ~#atanlo_atan~0!base, offset: ~#atanlo_atan~0!offset }, 8); [L44-L49] FCALL call write~init~real(3.061616997868383E-17, { base: ~#atanlo_atan~0!base, offset: 8 + ~#atanlo_atan~0!offset }, 8); [L44-L49] FCALL call write~init~real(1.3903311031230998E-17, { base: ~#atanlo_atan~0!base, offset: 16 + ~#atanlo_atan~0!offset }, 8); [L44-L49] FCALL call write~init~real(6.123233995736766E-17, { base: ~#atanlo_atan~0!base, offset: 24 + ~#atanlo_atan~0!offset }, 8); [L51-L58] FCALL call ~#aT_atan~0 := #Ultimate.alloc(88); [L51-L58] FCALL call write~init~real(0.3333333333333293, { base: ~#aT_atan~0!base, offset: ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.19999999999876483), { base: ~#aT_atan~0!base, offset: 8 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.14285714272503466, { base: ~#aT_atan~0!base, offset: 16 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.11111110405462356), { base: ~#aT_atan~0!base, offset: 24 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.09090887133436507, { base: ~#aT_atan~0!base, offset: 32 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.0769187620504483), { base: ~#aT_atan~0!base, offset: 40 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.06661073137387531, { base: ~#aT_atan~0!base, offset: 48 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.058335701337905735), { base: ~#aT_atan~0!base, offset: 56 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.049768779946159324, { base: ~#aT_atan~0!base, offset: 64 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.036531572744216916), { base: ~#aT_atan~0!base, offset: 72 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.016285820115365782, { base: ~#aT_atan~0!base, offset: 80 + ~#aT_atan~0!offset }, 8); [L60-L62] ~one_atan~0 := 1.0; [L60-L62] ~pi_o_4~0 := 0.7853981633974483; [L60-L62] ~pi_o_2~0 := 1.5707963267948966; [L60-L62] ~pi~0 := 3.141592653589793; [L60-L62] ~huge_atan~0 := 1.0E300; [L139-L140] ~tiny_atan2~0 := 1.0E-300; [L139-L140] ~zero_atan2~0 := 0.0; [L139-L140] ~pi_lo_atan2~0 := 1.2246467991473532E-16; VAL [#NULL!base=0, #NULL!offset=0, old(#NULL!base)=115, old(#NULL!offset)=106, old(~#aT_atan~0!base)=97, old(~#aT_atan~0!offset)=104, old(~#atanhi_atan~0!base)=100, old(~#atanhi_atan~0!offset)=109, old(~#atanlo_atan~0!base)=92, old(~#atanlo_atan~0!offset)=119, old(~huge_atan~0)=117.0, old(~one_atan~0)=105.0, old(~pi_lo_atan2~0)=103.0, old(~pi_o_2~0)=89.0, old(~pi_o_4~0)=107.0, old(~pi~0)=112.0, old(~tiny_atan2~0)=118.0, old(~zero_atan2~0)=96.0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [?] RET call ULTIMATE.init(); VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [?] CALL call #t~ret50 := main(); VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L250] ~x~0 := #t~nondet48; [L250] havoc #t~nondet48; [L251] ~y~0 := 0.0; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=108.0, ~y~0=0.0, ~zero_atan2~0=0.0] [L253] COND TRUE ~someBinaryDOUBLEComparisonOperation(~x~0, 0.0) VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=108.0, ~y~0=0.0, ~zero_atan2~0=0.0] [L255] CALL call #t~ret49 := __ieee754_atan2(~y~0, ~x~0); VAL [#in~x=108.0, #in~y=0.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L142-L242] ~y := #in~y; [L142-L242] ~x := #in~x; [L143] havoc ~z~1; [L144] havoc ~k~0; [L144] havoc ~m~0; [L144] havoc ~hx~1; [L144] havoc ~hy~0; [L144] havoc ~ix~1; [L144] havoc ~iy~0; [L145] havoc ~lx~0; [L145] havoc ~ly~0; VAL [#in~x=108.0, #in~y=0.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=108.0, ~y=0.0, ~zero_atan2~0=0.0] [L148] FCALL call ~#ew_u~0 := #Ultimate.alloc(8); [L149] FCALL call write~real(~x, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L150] FCALL call #t~mem27 := read~int({ base: ~#ew_u~0!base, offset: 4 + ~#ew_u~0!offset }, 4); [L150] ~hx~1 := (if #t~mem27 % 4294967296 % 4294967296 <= 2147483647 then #t~mem27 % 4294967296 % 4294967296 else #t~mem27 % 4294967296 % 4294967296 - 4294967296); [L150] FCALL call write~real(#t~union28, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L150] havoc #t~mem27; [L150] havoc #t~union28; [L151] FCALL call #t~mem29 := read~int({ base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 4); [L151] ~lx~0 := #t~mem29; [L151] FCALL call write~real(#t~union30, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L151] havoc #t~mem29; [L151] havoc #t~union30; [L148] FCALL call ULTIMATE.dealloc(~#ew_u~0); [L148] havoc ~#ew_u~0; VAL [#in~x=108.0, #in~y=0.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=5, ~lx~0=113, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=108.0, ~y=0.0, ~zero_atan2~0=0.0] [L153] ~ix~1 := ~bitwiseAnd(~hx~1, 2147483647); VAL [#in~x=108.0, #in~y=0.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=5, ~lx~0=113, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=108.0, ~y=0.0, ~zero_atan2~0=0.0] [L155] FCALL call ~#ew_u~1 := #Ultimate.alloc(8); [L156] FCALL call write~real(~y, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L157] FCALL call #t~mem31 := read~int({ base: ~#ew_u~1!base, offset: 4 + ~#ew_u~1!offset }, 4); [L157] ~hy~0 := (if #t~mem31 % 4294967296 % 4294967296 <= 2147483647 then #t~mem31 % 4294967296 % 4294967296 else #t~mem31 % 4294967296 % 4294967296 - 4294967296); [L157] FCALL call write~real(#t~union32, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L157] havoc #t~mem31; [L157] havoc #t~union32; [L158] FCALL call #t~mem33 := read~int({ base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 4); [L158] ~ly~0 := #t~mem33; [L158] FCALL call write~real(#t~union34, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L158] havoc #t~union34; [L158] havoc #t~mem33; [L155] FCALL call ULTIMATE.dealloc(~#ew_u~1); [L155] havoc ~#ew_u~1; VAL [#in~x=108.0, #in~y=0.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=5, ~hy~0=2, ~lx~0=113, ~ly~0=93, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=108.0, ~y=0.0, ~zero_atan2~0=0.0] [L160] ~iy~0 := ~bitwiseAnd(~hy~0, 2147483647); VAL [#in~x=108.0, #in~y=0.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=5, ~hy~0=2, ~lx~0=113, ~ly~0=93, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=108.0, ~y=0.0, ~zero_atan2~0=0.0] [L161-L162] COND TRUE ~bitwiseOr(~ix~1, ~bitwiseOr(~lx~0, -~lx~0) / 2147483648) % 4294967296 > 2146435072 || ~bitwiseOr(~iy~0, ~bitwiseOr(~ly~0, -~ly~0) / 2147483648) % 4294967296 > 2146435072 [L163] #res := ~someBinaryArithmeticDOUBLEoperation(~x, ~y); VAL [#in~x=108.0, #in~y=0.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=5, ~hy~0=2, ~lx~0=113, ~ly~0=93, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=108.0, ~y=0.0, ~zero_atan2~0=0.0] [L255] RET call #t~ret49 := __ieee754_atan2(~y~0, ~x~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret49=111.0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=108.0, ~y~0=0.0, ~zero_atan2~0=0.0] [L255] ~res~0 := #t~ret49; [L255] havoc #t~ret49; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~res~0=111.0, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=108.0, ~y~0=0.0, ~zero_atan2~0=0.0] [L258] COND TRUE ~someBinaryDOUBLEComparisonOperation(~res~0, ~pi~0) VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~res~0=111.0, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=108.0, ~y~0=0.0, ~zero_atan2~0=0.0] [L259] assert false; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~res~0=111.0, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=108.0, ~y~0=0.0, ~zero_atan2~0=0.0] ----- [2018-11-23 05:58:32,983 WARN L1272 BoogieBacktranslator]: Unfinished Backtranslation: IntegerLiteral 100 could not be translated for associated CType ARRAY#_4_~DOUBLE# [2018-11-23 05:58:32,984 WARN L1272 BoogieBacktranslator]: Unfinished Backtranslation: IntegerLiteral 97 could not be translated for associated CType ARRAY#_11_~DOUBLE# [2018-11-23 05:58:32,984 WARN L1272 BoogieBacktranslator]: Unfinished Backtranslation: IntegerLiteral 104 could not be translated for associated CType ARRAY#_11_~DOUBLE# [2018-11-23 05:58:32,984 WARN L1272 BoogieBacktranslator]: Unfinished Backtranslation: IntegerLiteral 119 could not be translated for associated CType ARRAY#_4_~DOUBLE# [2018-11-23 05:58:32,985 WARN L1272 BoogieBacktranslator]: Unfinished Backtranslation: IntegerLiteral 92 could not be translated for associated CType ARRAY#_4_~DOUBLE# [2018-11-23 05:58:32,985 WARN L1272 BoogieBacktranslator]: Unfinished Backtranslation: IntegerLiteral 109 could not be translated for associated CType ARRAY#_4_~DOUBLE# ----- class de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.CACSL2BoogieBacktranslator [?] CALL call ULTIMATE.init(); VAL [#NULL!base=115, #NULL!offset=106, old(#NULL!base)=115, old(#NULL!offset)=106, old(~#aT_atan~0!base)=97, old(~#aT_atan~0!offset)=104, old(~#atanhi_atan~0!base)=100, old(~#atanhi_atan~0!offset)=109, old(~#atanlo_atan~0!base)=92, old(~#atanlo_atan~0!offset)=119, old(~huge_atan~0)=117.0, old(~one_atan~0)=105.0, old(~pi_lo_atan2~0)=103.0, old(~pi_o_2~0)=89.0, old(~pi_o_4~0)=107.0, old(~pi~0)=112.0, old(~tiny_atan2~0)=118.0, old(~zero_atan2~0)=96.0, ~#aT_atan~0!base=97, ~#aT_atan~0!offset=104, ~#atanhi_atan~0!base=100, ~#atanhi_atan~0!offset=109, ~#atanlo_atan~0!base=92, ~#atanlo_atan~0!offset=119, ~huge_atan~0=117.0, ~one_atan~0=105.0, ~pi_lo_atan2~0=103.0, ~pi_o_2~0=89.0, ~pi_o_4~0=107.0, ~pi~0=112.0, ~tiny_atan2~0=118.0, ~zero_atan2~0=96.0] [?] #NULL := { base: 0, offset: 0 }; [?] #valid[0] := 0; [L37-L42] FCALL call ~#atanhi_atan~0 := #Ultimate.alloc(32); [L37-L42] FCALL call write~init~real(0.4636476090008061, { base: ~#atanhi_atan~0!base, offset: ~#atanhi_atan~0!offset }, 8); [L37-L42] FCALL call write~init~real(0.7853981633974483, { base: ~#atanhi_atan~0!base, offset: 8 + ~#atanhi_atan~0!offset }, 8); [L37-L42] FCALL call write~init~real(0.982793723247329, { base: ~#atanhi_atan~0!base, offset: 16 + ~#atanhi_atan~0!offset }, 8); [L37-L42] FCALL call write~init~real(1.5707963267948966, { base: ~#atanhi_atan~0!base, offset: 24 + ~#atanhi_atan~0!offset }, 8); [L44-L49] FCALL call ~#atanlo_atan~0 := #Ultimate.alloc(32); [L44-L49] FCALL call write~init~real(2.2698777452961687E-17, { base: ~#atanlo_atan~0!base, offset: ~#atanlo_atan~0!offset }, 8); [L44-L49] FCALL call write~init~real(3.061616997868383E-17, { base: ~#atanlo_atan~0!base, offset: 8 + ~#atanlo_atan~0!offset }, 8); [L44-L49] FCALL call write~init~real(1.3903311031230998E-17, { base: ~#atanlo_atan~0!base, offset: 16 + ~#atanlo_atan~0!offset }, 8); [L44-L49] FCALL call write~init~real(6.123233995736766E-17, { base: ~#atanlo_atan~0!base, offset: 24 + ~#atanlo_atan~0!offset }, 8); [L51-L58] FCALL call ~#aT_atan~0 := #Ultimate.alloc(88); [L51-L58] FCALL call write~init~real(0.3333333333333293, { base: ~#aT_atan~0!base, offset: ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.19999999999876483), { base: ~#aT_atan~0!base, offset: 8 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.14285714272503466, { base: ~#aT_atan~0!base, offset: 16 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.11111110405462356), { base: ~#aT_atan~0!base, offset: 24 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.09090887133436507, { base: ~#aT_atan~0!base, offset: 32 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.0769187620504483), { base: ~#aT_atan~0!base, offset: 40 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.06661073137387531, { base: ~#aT_atan~0!base, offset: 48 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.058335701337905735), { base: ~#aT_atan~0!base, offset: 56 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.049768779946159324, { base: ~#aT_atan~0!base, offset: 64 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.036531572744216916), { base: ~#aT_atan~0!base, offset: 72 + ~#aT_atan~0!offset }, 8); [L51-L58] FCALL call write~init~real(0.016285820115365782, { base: ~#aT_atan~0!base, offset: 80 + ~#aT_atan~0!offset }, 8); [L60-L62] ~one_atan~0 := 1.0; [L60-L62] ~pi_o_4~0 := 0.7853981633974483; [L60-L62] ~pi_o_2~0 := 1.5707963267948966; [L60-L62] ~pi~0 := 3.141592653589793; [L60-L62] ~huge_atan~0 := 1.0E300; [L139-L140] ~tiny_atan2~0 := 1.0E-300; [L139-L140] ~zero_atan2~0 := 0.0; [L139-L140] ~pi_lo_atan2~0 := 1.2246467991473532E-16; VAL [#NULL!base=0, #NULL!offset=0, old(#NULL!base)=115, old(#NULL!offset)=106, old(~#aT_atan~0!base)=97, old(~#aT_atan~0!offset)=104, old(~#atanhi_atan~0!base)=100, old(~#atanhi_atan~0!offset)=109, old(~#atanlo_atan~0!base)=92, old(~#atanlo_atan~0!offset)=119, old(~huge_atan~0)=117.0, old(~one_atan~0)=105.0, old(~pi_lo_atan2~0)=103.0, old(~pi_o_2~0)=89.0, old(~pi_o_4~0)=107.0, old(~pi~0)=112.0, old(~tiny_atan2~0)=118.0, old(~zero_atan2~0)=96.0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [?] RET call ULTIMATE.init(); VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [?] CALL call #t~ret50 := main(); VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L250] ~x~0 := #t~nondet48; [L250] havoc #t~nondet48; [L251] ~y~0 := 0.0; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=108.0, ~y~0=0.0, ~zero_atan2~0=0.0] [L253] COND TRUE ~someBinaryDOUBLEComparisonOperation(~x~0, 0.0) VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=108.0, ~y~0=0.0, ~zero_atan2~0=0.0] [L255] CALL call #t~ret49 := __ieee754_atan2(~y~0, ~x~0); VAL [#in~x=108.0, #in~y=0.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L142-L242] ~y := #in~y; [L142-L242] ~x := #in~x; [L143] havoc ~z~1; [L144] havoc ~k~0; [L144] havoc ~m~0; [L144] havoc ~hx~1; [L144] havoc ~hy~0; [L144] havoc ~ix~1; [L144] havoc ~iy~0; [L145] havoc ~lx~0; [L145] havoc ~ly~0; VAL [#in~x=108.0, #in~y=0.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=108.0, ~y=0.0, ~zero_atan2~0=0.0] [L148] FCALL call ~#ew_u~0 := #Ultimate.alloc(8); [L149] FCALL call write~real(~x, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L150] FCALL call #t~mem27 := read~int({ base: ~#ew_u~0!base, offset: 4 + ~#ew_u~0!offset }, 4); [L150] ~hx~1 := (if #t~mem27 % 4294967296 % 4294967296 <= 2147483647 then #t~mem27 % 4294967296 % 4294967296 else #t~mem27 % 4294967296 % 4294967296 - 4294967296); [L150] FCALL call write~real(#t~union28, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L150] havoc #t~mem27; [L150] havoc #t~union28; [L151] FCALL call #t~mem29 := read~int({ base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 4); [L151] ~lx~0 := #t~mem29; [L151] FCALL call write~real(#t~union30, { base: ~#ew_u~0!base, offset: ~#ew_u~0!offset }, 8); [L151] havoc #t~mem29; [L151] havoc #t~union30; [L148] FCALL call ULTIMATE.dealloc(~#ew_u~0); [L148] havoc ~#ew_u~0; VAL [#in~x=108.0, #in~y=0.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=5, ~lx~0=113, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=108.0, ~y=0.0, ~zero_atan2~0=0.0] [L153] ~ix~1 := ~bitwiseAnd(~hx~1, 2147483647); VAL [#in~x=108.0, #in~y=0.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=5, ~lx~0=113, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=108.0, ~y=0.0, ~zero_atan2~0=0.0] [L155] FCALL call ~#ew_u~1 := #Ultimate.alloc(8); [L156] FCALL call write~real(~y, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L157] FCALL call #t~mem31 := read~int({ base: ~#ew_u~1!base, offset: 4 + ~#ew_u~1!offset }, 4); [L157] ~hy~0 := (if #t~mem31 % 4294967296 % 4294967296 <= 2147483647 then #t~mem31 % 4294967296 % 4294967296 else #t~mem31 % 4294967296 % 4294967296 - 4294967296); [L157] FCALL call write~real(#t~union32, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L157] havoc #t~mem31; [L157] havoc #t~union32; [L158] FCALL call #t~mem33 := read~int({ base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 4); [L158] ~ly~0 := #t~mem33; [L158] FCALL call write~real(#t~union34, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L158] havoc #t~union34; [L158] havoc #t~mem33; [L155] FCALL call ULTIMATE.dealloc(~#ew_u~1); [L155] havoc ~#ew_u~1; VAL [#in~x=108.0, #in~y=0.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=5, ~hy~0=2, ~lx~0=113, ~ly~0=93, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=108.0, ~y=0.0, ~zero_atan2~0=0.0] [L160] ~iy~0 := ~bitwiseAnd(~hy~0, 2147483647); VAL [#in~x=108.0, #in~y=0.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=5, ~hy~0=2, ~lx~0=113, ~ly~0=93, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=108.0, ~y=0.0, ~zero_atan2~0=0.0] [L161-L162] COND TRUE ~bitwiseOr(~ix~1, ~bitwiseOr(~lx~0, -~lx~0) / 2147483648) % 4294967296 > 2146435072 || ~bitwiseOr(~iy~0, ~bitwiseOr(~ly~0, -~ly~0) / 2147483648) % 4294967296 > 2146435072 [L163] #res := ~someBinaryArithmeticDOUBLEoperation(~x, ~y); VAL [#in~x=108.0, #in~y=0.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=5, ~hy~0=2, ~lx~0=113, ~ly~0=93, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x=108.0, ~y=0.0, ~zero_atan2~0=0.0] [L255] RET call #t~ret49 := __ieee754_atan2(~y~0, ~x~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret49=111.0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=108.0, ~y~0=0.0, ~zero_atan2~0=0.0] [L255] ~res~0 := #t~ret49; [L255] havoc #t~ret49; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~res~0=111.0, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=108.0, ~y~0=0.0, ~zero_atan2~0=0.0] [L258] COND TRUE ~someBinaryDOUBLEComparisonOperation(~res~0, ~pi~0) VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~res~0=111.0, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=108.0, ~y~0=0.0, ~zero_atan2~0=0.0] [L259] assert false; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=99, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=101, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=90, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~res~0=111.0, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=108.0, ~y~0=0.0, ~zero_atan2~0=0.0] [L37-L42] static const double atanhi_atan[] = { 4.63647609000806093515e-01, 7.85398163397448278999e-01, 9.82793723247329054082e-01, 1.57079632679489655800e+00, }; [L44-L49] static const double atanlo_atan[] = { 2.26987774529616870924e-17, 3.06161699786838301793e-17, 1.39033110312309984516e-17, 6.12323399573676603587e-17, }; [L51-L58] static const double aT_atan[] = { 3.33333333333329318027e-01, -1.99999999998764832476e-01, 1.42857142725034663711e-01, -1.11111104054623557880e-01, 9.09088713343650656196e-02, -7.69187620504482999495e-02, 6.66107313738753120669e-02, -5.83357013379057348645e-02, 4.97687799461593236017e-02, -3.65315727442169155270e-02, 1.62858201153657823623e-02, }; [L60-L62] static const double one_atan = 1.0, pi_o_4 = 7.8539816339744827900E-01, pi_o_2 = 1.5707963267948965580E+00, pi = 3.1415926535897931160E+00, huge_atan = 1.0e300; [L139-L140] static const double tiny_atan2 = 1.0e-300, zero_atan2 = 0.0, pi_lo_atan2 = 1.2246467991473531772E-16; VAL [\old(aT_atan)=null, \old(aT_atan)=null, \old(atanhi_atan)=null, \old(atanhi_atan)=null, \old(atanlo_atan)=null, \old(atanlo_atan)=null, \old(huge_atan)=117, \old(one_atan)=105, \old(pi)=112, \old(pi_lo_atan2)=103, \old(pi_o_2)=89, \old(pi_o_4)=107, \old(tiny_atan2)=118, \old(zero_atan2)=96, aT_atan={99:0}, atanhi_atan={101:0}, atanlo_atan={90:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, zero_atan2=0] [L250] double x = __VERIFIER_nondet_double(); [L251] double y = 0.0; VAL [aT_atan={99:0}, atanhi_atan={101:0}, atanlo_atan={90:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=108, y=0, zero_atan2=0] [L253] COND TRUE x < 0.0 VAL [aT_atan={99:0}, atanhi_atan={101:0}, atanlo_atan={90:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=108, y=0, zero_atan2=0] [L255] CALL, EXPR __ieee754_atan2(y, x) VAL [\old(x)=108, \old(y)=0, aT_atan={99:0}, atanhi_atan={101:0}, atanlo_atan={90:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, zero_atan2=0] [L143] double z; [L144] __int32_t k, m, hx, hy, ix, iy; [L145] __uint32_t lx, ly; VAL [\old(x)=108, \old(y)=0, aT_atan={99:0}, atanhi_atan={101:0}, atanlo_atan={90:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=108, y=0, zero_atan2=0] [L148] ieee_double_shape_type ew_u; [L149] ew_u.value = (x) [L150] EXPR ew_u.parts.msw [L150] (hx) = ew_u.parts.msw [L151] EXPR ew_u.parts.lsw [L151] (lx) = ew_u.parts.lsw [L153] ix = hx & 0x7fffffff VAL [\old(x)=108, \old(y)=0, aT_atan={99:0}, atanhi_atan={101:0}, atanlo_atan={90:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, hx=5, lx=113, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=108, y=0, zero_atan2=0] [L155] ieee_double_shape_type ew_u; [L156] ew_u.value = (y) [L157] EXPR ew_u.parts.msw [L157] (hy) = ew_u.parts.msw [L158] EXPR ew_u.parts.lsw [L158] (ly) = ew_u.parts.lsw [L160] iy = hy & 0x7fffffff VAL [\old(x)=108, \old(y)=0, aT_atan={99:0}, atanhi_atan={101:0}, atanlo_atan={90:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, hx=5, hy=2, lx=113, ly=93, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=108, y=0, zero_atan2=0] [L161-L162] COND TRUE ((ix | ((lx | -lx) >> 31)) > 0x7ff00000) || ((iy | ((ly | -ly) >> 31)) > 0x7ff00000) [L163] return x + y; VAL [\old(x)=108, \old(y)=0, aT_atan={99:0}, atanhi_atan={101:0}, atanlo_atan={90:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, hx=5, hy=2, lx=113, ly=93, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=108, y=0, zero_atan2=0] [L255] RET, EXPR __ieee754_atan2(y, x) VAL [__ieee754_atan2(y, x)=111, aT_atan={99:0}, atanhi_atan={101:0}, atanlo_atan={90:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=108, y=0, zero_atan2=0] [L255] double res = __ieee754_atan2(y, x); [L258] COND TRUE res != pi VAL [aT_atan={99:0}, atanhi_atan={101:0}, atanlo_atan={90:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, res=111, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=108, y=0, zero_atan2=0] [L259] __VERIFIER_error() VAL [aT_atan={99:0}, atanhi_atan={101:0}, atanlo_atan={90:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, res=111, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=108, y=0, zero_atan2=0] ----- [2018-11-23 05:58:33,035 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 23.11 05:58:33 BoogieIcfgContainer [2018-11-23 05:58:33,035 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2018-11-23 05:58:33,038 INFO L113 PluginConnector]: ------------------------Witness Printer---------------------------- [2018-11-23 05:58:33,038 INFO L271 PluginConnector]: Initializing Witness Printer... [2018-11-23 05:58:33,039 INFO L276 PluginConnector]: Witness Printer initialized [2018-11-23 05:58:33,039 INFO L185 PluginConnector]: Executing the observer RCFGCatcher from plugin Witness Printer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 05:58:32" (3/4) ... [2018-11-23 05:58:33,043 INFO L147 WitnessPrinter]: No result that supports witness generation found [2018-11-23 05:58:33,043 INFO L132 PluginConnector]: ------------------------ END Witness Printer---------------------------- [2018-11-23 05:58:33,044 INFO L168 Benchmark]: Toolchain (without parser) took 1378.82 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 137.4 MB). Free memory was 959.2 MB in the beginning and 1.0 GB in the end (delta: -75.0 MB). Peak memory consumption was 62.4 MB. Max. memory is 11.5 GB. [2018-11-23 05:58:33,046 INFO L168 Benchmark]: CDTParser took 0.13 ms. Allocated memory is still 1.0 GB. Free memory is still 985.6 MB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-23 05:58:33,046 INFO L168 Benchmark]: CACSL2BoogieTranslator took 246.12 ms. Allocated memory is still 1.0 GB. Free memory was 959.2 MB in the beginning and 940.5 MB in the end (delta: 18.8 MB). Peak memory consumption was 18.8 MB. Max. memory is 11.5 GB. [2018-11-23 05:58:33,046 INFO L168 Benchmark]: Boogie Procedure Inliner took 65.07 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 137.4 MB). Free memory was 940.5 MB in the beginning and 1.1 GB in the end (delta: -194.1 MB). Peak memory consumption was 15.0 MB. Max. memory is 11.5 GB. [2018-11-23 05:58:33,047 INFO L168 Benchmark]: Boogie Preprocessor took 45.07 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 2.7 MB). Peak memory consumption was 2.7 MB. Max. memory is 11.5 GB. [2018-11-23 05:58:33,047 INFO L168 Benchmark]: RCFGBuilder took 467.54 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 41.2 MB). Peak memory consumption was 41.2 MB. Max. memory is 11.5 GB. [2018-11-23 05:58:33,048 INFO L168 Benchmark]: TraceAbstraction took 544.77 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 1.0 GB in the end (delta: 56.4 MB). Peak memory consumption was 56.4 MB. Max. memory is 11.5 GB. [2018-11-23 05:58:33,048 INFO L168 Benchmark]: Witness Printer took 4.62 ms. Allocated memory is still 1.2 GB. Free memory is still 1.0 GB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-23 05:58:33,052 INFO L336 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.13 ms. Allocated memory is still 1.0 GB. Free memory is still 985.6 MB. There was no memory consumed. Max. memory is 11.5 GB. * CACSL2BoogieTranslator took 246.12 ms. Allocated memory is still 1.0 GB. Free memory was 959.2 MB in the beginning and 940.5 MB in the end (delta: 18.8 MB). Peak memory consumption was 18.8 MB. Max. memory is 11.5 GB. * Boogie Procedure Inliner took 65.07 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 137.4 MB). Free memory was 940.5 MB in the beginning and 1.1 GB in the end (delta: -194.1 MB). Peak memory consumption was 15.0 MB. Max. memory is 11.5 GB. * Boogie Preprocessor took 45.07 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 2.7 MB). Peak memory consumption was 2.7 MB. Max. memory is 11.5 GB. * RCFGBuilder took 467.54 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 41.2 MB). Peak memory consumption was 41.2 MB. Max. memory is 11.5 GB. * TraceAbstraction took 544.77 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 1.0 GB in the end (delta: 56.4 MB). Peak memory consumption was 56.4 MB. Max. memory is 11.5 GB. * Witness Printer took 4.62 ms. Allocated memory is still 1.2 GB. Free memory is still 1.0 GB. There was no memory consumed. Max. memory is 11.5 GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: IntegerLiteral 100 could not be translated for associated CType ARRAY#_4_~DOUBLE# - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: IntegerLiteral 97 could not be translated for associated CType ARRAY#_11_~DOUBLE# - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: IntegerLiteral 104 could not be translated for associated CType ARRAY#_11_~DOUBLE# - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: IntegerLiteral 119 could not be translated for associated CType ARRAY#_4_~DOUBLE# - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: IntegerLiteral 92 could not be translated for associated CType ARRAY#_4_~DOUBLE# - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: IntegerLiteral 109 could not be translated for associated CType ARRAY#_4_~DOUBLE# * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - UnprovableResult [Line: 259]: Unable to prove that call of __VERIFIER_error() unreachable Unable to prove that call of __VERIFIER_error() unreachable Reason: overapproximation of bitwiseOr at line 162, overapproximation of someUnaryDOUBLEoperation at line 52, overapproximation of bitwiseAnd at line 160, overapproximation of someBinaryArithmeticDOUBLEoperation at line 163, overapproximation of someBinaryDOUBLEComparisonOperation at line 258. Possible FailurePath: [L37-L42] static const double atanhi_atan[] = { 4.63647609000806093515e-01, 7.85398163397448278999e-01, 9.82793723247329054082e-01, 1.57079632679489655800e+00, }; [L44-L49] static const double atanlo_atan[] = { 2.26987774529616870924e-17, 3.06161699786838301793e-17, 1.39033110312309984516e-17, 6.12323399573676603587e-17, }; [L51-L58] static const double aT_atan[] = { 3.33333333333329318027e-01, -1.99999999998764832476e-01, 1.42857142725034663711e-01, -1.11111104054623557880e-01, 9.09088713343650656196e-02, -7.69187620504482999495e-02, 6.66107313738753120669e-02, -5.83357013379057348645e-02, 4.97687799461593236017e-02, -3.65315727442169155270e-02, 1.62858201153657823623e-02, }; [L60-L62] static const double one_atan = 1.0, pi_o_4 = 7.8539816339744827900E-01, pi_o_2 = 1.5707963267948965580E+00, pi = 3.1415926535897931160E+00, huge_atan = 1.0e300; [L139-L140] static const double tiny_atan2 = 1.0e-300, zero_atan2 = 0.0, pi_lo_atan2 = 1.2246467991473531772E-16; VAL [\old(aT_atan)=null, \old(aT_atan)=null, \old(atanhi_atan)=null, \old(atanhi_atan)=null, \old(atanlo_atan)=null, \old(atanlo_atan)=null, \old(huge_atan)=117, \old(one_atan)=105, \old(pi)=112, \old(pi_lo_atan2)=103, \old(pi_o_2)=89, \old(pi_o_4)=107, \old(tiny_atan2)=118, \old(zero_atan2)=96, aT_atan={99:0}, atanhi_atan={101:0}, atanlo_atan={90:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, zero_atan2=0] [L250] double x = __VERIFIER_nondet_double(); [L251] double y = 0.0; VAL [aT_atan={99:0}, atanhi_atan={101:0}, atanlo_atan={90:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=108, y=0, zero_atan2=0] [L253] COND TRUE x < 0.0 VAL [aT_atan={99:0}, atanhi_atan={101:0}, atanlo_atan={90:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=108, y=0, zero_atan2=0] [L255] CALL, EXPR __ieee754_atan2(y, x) VAL [\old(x)=108, \old(y)=0, aT_atan={99:0}, atanhi_atan={101:0}, atanlo_atan={90:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, zero_atan2=0] [L143] double z; [L144] __int32_t k, m, hx, hy, ix, iy; [L145] __uint32_t lx, ly; VAL [\old(x)=108, \old(y)=0, aT_atan={99:0}, atanhi_atan={101:0}, atanlo_atan={90:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=108, y=0, zero_atan2=0] [L148] ieee_double_shape_type ew_u; [L149] ew_u.value = (x) [L150] EXPR ew_u.parts.msw [L150] (hx) = ew_u.parts.msw [L151] EXPR ew_u.parts.lsw [L151] (lx) = ew_u.parts.lsw [L153] ix = hx & 0x7fffffff VAL [\old(x)=108, \old(y)=0, aT_atan={99:0}, atanhi_atan={101:0}, atanlo_atan={90:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, hx=5, lx=113, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=108, y=0, zero_atan2=0] [L155] ieee_double_shape_type ew_u; [L156] ew_u.value = (y) [L157] EXPR ew_u.parts.msw [L157] (hy) = ew_u.parts.msw [L158] EXPR ew_u.parts.lsw [L158] (ly) = ew_u.parts.lsw [L160] iy = hy & 0x7fffffff VAL [\old(x)=108, \old(y)=0, aT_atan={99:0}, atanhi_atan={101:0}, atanlo_atan={90:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, hx=5, hy=2, lx=113, ly=93, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=108, y=0, zero_atan2=0] [L161-L162] COND TRUE ((ix | ((lx | -lx) >> 31)) > 0x7ff00000) || ((iy | ((ly | -ly) >> 31)) > 0x7ff00000) [L163] return x + y; VAL [\old(x)=108, \old(y)=0, aT_atan={99:0}, atanhi_atan={101:0}, atanlo_atan={90:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, hx=5, hy=2, lx=113, ly=93, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=108, y=0, zero_atan2=0] [L255] RET, EXPR __ieee754_atan2(y, x) VAL [__ieee754_atan2(y, x)=111, aT_atan={99:0}, atanhi_atan={101:0}, atanlo_atan={90:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=108, y=0, zero_atan2=0] [L255] double res = __ieee754_atan2(y, x); [L258] COND TRUE res != pi VAL [aT_atan={99:0}, atanhi_atan={101:0}, atanlo_atan={90:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, res=111, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=108, y=0, zero_atan2=0] [L259] __VERIFIER_error() VAL [aT_atan={99:0}, atanhi_atan={101:0}, atanlo_atan={90:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, res=111, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=108, y=0, zero_atan2=0] - StatisticsResult: Ultimate Automizer benchmark data CFG has 6 procedures, 103 locations, 1 error locations. UNSAFE Result, 0.4s OverallTime, 2 OverallIterations, 1 TraceHistogramMax, 0.0s AutomataDifference, 0.0s DeadEndRemovalTime, 0.0s HoareAnnotationTime, HoareTripleCheckerStatistics: 143 SDtfs, 0 SDslu, 0 SDs, 0 SdLazy, 0 SolverSat, 0 SolverUnsat, 0 SolverUnknown, 0 SolverNotchecked, 0.0s Time, PredicateUnifierStatistics: 0 DeclaredPredicates, 2 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 0 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=103occurred in iteration=0, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s AbstIntTime, 0 AbstIntIterations, 0 AbstIntStrong, NaN AbsIntWeakeningRatio, NaN AbsIntAvgWeakeningVarsNumRemoved, NaN AbsIntAvgWeakenedConjuncts, 0.0s DumpTime, AutomataMinimizationStatistics: 0.0s AutomataMinimizationTime, 1 MinimizatonAttempts, 0 StatesRemovedByMinimization, 0 NontrivialMinimizations, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: TraceCheckStatistics: 0.0s SsaConstructionTime, 0.0s SatisfiabilityAnalysisTime, 0.0s InterpolantComputationTime, 40 NumberOfCodeBlocks, 40 NumberOfCodeBlocksAsserted, 2 NumberOfCheckSat, 18 ConstructedInterpolants, 0 QuantifiedInterpolants, 324 SizeOfPredicates, 0 NumberOfNonLiveVariables, 0 ConjunctsInSsa, 0 ConjunctsInUnsatCore, 1 InterpolantComputations, 1 PerfectInterpolantSequences, 0/0 InterpolantCoveringCapability, InvariantSynthesisStatistics: No data available, InterpolantConsolidationStatistics: No data available, ReuseStatistics: No data available RESULT: Ultimate could not prove your program: unable to determine feasibility of some traces Received shutdown request... ### Bit-precise run ### This is Ultimate 0.1.23-aa41828 [2018-11-23 05:58:34,566 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-23 05:58:34,567 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-23 05:58:34,575 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-23 05:58:34,575 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-23 05:58:34,575 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-23 05:58:34,576 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-23 05:58:34,577 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-23 05:58:34,578 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-23 05:58:34,579 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-23 05:58:34,579 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-23 05:58:34,579 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-23 05:58:34,580 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-23 05:58:34,581 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-23 05:58:34,582 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-23 05:58:34,582 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-23 05:58:34,583 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-23 05:58:34,584 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-23 05:58:34,586 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-23 05:58:34,586 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-23 05:58:34,587 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-23 05:58:34,588 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-23 05:58:34,589 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-23 05:58:34,589 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-23 05:58:34,589 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-23 05:58:34,590 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-23 05:58:34,590 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-23 05:58:34,591 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-23 05:58:34,591 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-23 05:58:34,592 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-23 05:58:34,592 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-23 05:58:34,593 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-23 05:58:34,593 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-23 05:58:34,593 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-23 05:58:34,594 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-23 05:58:34,594 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-23 05:58:34,594 INFO L98 SettingsManager]: Beginning loading settings from /tmp/vcloud-vcloud-master/worker/working_dir_67d8bab4-9054-4115-883d-da4f9337d291/bin-2019/utaipan/config/svcomp-Reach-32bit-Taipan_Bitvector.epf [2018-11-23 05:58:34,604 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-23 05:58:34,604 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-23 05:58:34,605 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-23 05:58:34,605 INFO L133 SettingsManager]: * ... calls to implemented procedures=ONLY_FOR_CONCURRENT_PROGRAMS [2018-11-23 05:58:34,605 INFO L133 SettingsManager]: * User list type=DISABLED [2018-11-23 05:58:34,605 INFO L131 SettingsManager]: Preferences of Abstract Interpretation differ from their defaults: [2018-11-23 05:58:34,606 INFO L133 SettingsManager]: * Explicit value domain=true [2018-11-23 05:58:34,606 INFO L133 SettingsManager]: * Octagon Domain=false [2018-11-23 05:58:34,606 INFO L133 SettingsManager]: * Abstract domain=CompoundDomain [2018-11-23 05:58:34,606 INFO L133 SettingsManager]: * Interval Domain=false [2018-11-23 05:58:34,607 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-23 05:58:34,607 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-23 05:58:34,607 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-23 05:58:34,607 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-23 05:58:34,607 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-23 05:58:34,607 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-23 05:58:34,607 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-23 05:58:34,607 INFO L133 SettingsManager]: * Use bitvectors instead of ints=true [2018-11-23 05:58:34,608 INFO L133 SettingsManager]: * Memory model=HoenickeLindenmann_4ByteResolution [2018-11-23 05:58:34,608 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-23 05:58:34,608 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-23 05:58:34,608 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-23 05:58:34,608 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-23 05:58:34,608 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-23 05:58:34,608 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-11-23 05:58:34,609 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-23 05:58:34,609 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-11-23 05:58:34,609 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-23 05:58:34,609 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-23 05:58:34,609 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-23 05:58:34,609 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-23 05:58:34,609 INFO L133 SettingsManager]: * Trace refinement strategy=WALRUS [2018-11-23 05:58:34,610 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-23 05:58:34,610 INFO L133 SettingsManager]: * Command for external solver=cvc4nyu --tear-down-incremental --rewrite-divk --print-success --lang smt [2018-11-23 05:58:34,610 INFO L133 SettingsManager]: * Logic for external solver=AUFBV [2018-11-23 05:58:34,610 INFO L133 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: Entry function -> main Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness directory -> /tmp/vcloud-vcloud-master/worker/working_dir_67d8bab4-9054-4115-883d-da4f9337d291/bin-2019/utaipan Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness filename -> witness.graphml Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Write witness besides input file -> false Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data specification -> CHECK( init(main()), LTL(G ! call(__VERIFIER_error())) ) Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data producer -> Taipan Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data architecture -> 32bit Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data programhash -> fcfb0681d482dd50f2d20807361558887e88a0e8 [2018-11-23 05:58:34,640 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-23 05:58:34,650 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-23 05:58:34,652 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-23 05:58:34,654 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-23 05:58:34,654 INFO L276 PluginConnector]: CDTParser initialized [2018-11-23 05:58:34,654 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /tmp/vcloud-vcloud-master/worker/working_dir_67d8bab4-9054-4115-883d-da4f9337d291/bin-2019/utaipan/../../sv-benchmarks/c/float-newlib/double_req_bl_0660b_true-unreach-call.c [2018-11-23 05:58:34,698 INFO L221 CDTParser]: Created temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_67d8bab4-9054-4115-883d-da4f9337d291/bin-2019/utaipan/data/bba50f472/136e7e62e51548cea4155d008aa0dfaa/FLAG12bd489ac [2018-11-23 05:58:35,038 INFO L307 CDTParser]: Found 1 translation units. [2018-11-23 05:58:35,039 INFO L161 CDTParser]: Scanning /tmp/vcloud-vcloud-master/worker/working_dir_67d8bab4-9054-4115-883d-da4f9337d291/sv-benchmarks/c/float-newlib/double_req_bl_0660b_true-unreach-call.c [2018-11-23 05:58:35,043 INFO L355 CDTParser]: About to delete temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_67d8bab4-9054-4115-883d-da4f9337d291/bin-2019/utaipan/data/bba50f472/136e7e62e51548cea4155d008aa0dfaa/FLAG12bd489ac [2018-11-23 05:58:35,460 INFO L363 CDTParser]: Successfully deleted /tmp/vcloud-vcloud-master/worker/working_dir_67d8bab4-9054-4115-883d-da4f9337d291/bin-2019/utaipan/data/bba50f472/136e7e62e51548cea4155d008aa0dfaa [2018-11-23 05:58:35,462 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-23 05:58:35,463 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-23 05:58:35,464 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-23 05:58:35,464 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-23 05:58:35,467 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-23 05:58:35,467 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 05:58:35" (1/1) ... [2018-11-23 05:58:35,469 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@255f79a3 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 05:58:35, skipping insertion in model container [2018-11-23 05:58:35,469 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 05:58:35" (1/1) ... [2018-11-23 05:58:35,476 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-23 05:58:35,498 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-23 05:58:35,666 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 05:58:35,673 INFO L191 MainTranslator]: Completed pre-run [2018-11-23 05:58:35,723 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 05:58:35,745 INFO L195 MainTranslator]: Completed translation [2018-11-23 05:58:35,746 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 05:58:35 WrapperNode [2018-11-23 05:58:35,746 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-23 05:58:35,747 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-23 05:58:35,747 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-23 05:58:35,747 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-23 05:58:35,752 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 05:58:35" (1/1) ... [2018-11-23 05:58:35,765 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 05:58:35" (1/1) ... [2018-11-23 05:58:35,772 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-23 05:58:35,773 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-23 05:58:35,773 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-23 05:58:35,773 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-23 05:58:35,823 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 05:58:35" (1/1) ... [2018-11-23 05:58:35,823 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 05:58:35" (1/1) ... [2018-11-23 05:58:35,827 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 05:58:35" (1/1) ... [2018-11-23 05:58:35,827 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 05:58:35" (1/1) ... [2018-11-23 05:58:35,844 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 05:58:35" (1/1) ... [2018-11-23 05:58:35,851 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 05:58:35" (1/1) ... [2018-11-23 05:58:35,854 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 05:58:35" (1/1) ... [2018-11-23 05:58:35,858 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-23 05:58:35,858 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-23 05:58:35,858 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-23 05:58:35,859 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-23 05:58:35,859 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 05:58:35" (1/1) ... No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_67d8bab4-9054-4115-883d-da4f9337d291/bin-2019/utaipan/z3 Starting monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-23 05:58:35,892 INFO L130 BoogieDeclarations]: Found specification of procedure read~intFLOATTYPE8 [2018-11-23 05:58:35,893 INFO L130 BoogieDeclarations]: Found specification of procedure write~intFLOATTYPE8 [2018-11-23 05:58:35,893 INFO L130 BoogieDeclarations]: Found specification of procedure main [2018-11-23 05:58:35,893 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2018-11-23 05:58:35,893 INFO L130 BoogieDeclarations]: Found specification of procedure __ieee754_atan2 [2018-11-23 05:58:35,893 INFO L138 BoogieDeclarations]: Found implementation of procedure __ieee754_atan2 [2018-11-23 05:58:35,893 INFO L130 BoogieDeclarations]: Found specification of procedure fabs_double [2018-11-23 05:58:35,893 INFO L138 BoogieDeclarations]: Found implementation of procedure fabs_double [2018-11-23 05:58:35,894 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2018-11-23 05:58:35,894 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2018-11-23 05:58:35,894 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~intFLOATTYPE8 [2018-11-23 05:58:35,894 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-23 05:58:35,894 INFO L130 BoogieDeclarations]: Found specification of procedure atan_double [2018-11-23 05:58:35,894 INFO L138 BoogieDeclarations]: Found implementation of procedure atan_double [2018-11-23 05:58:35,894 INFO L130 BoogieDeclarations]: Found specification of procedure read~intINTTYPE4 [2018-11-23 05:58:35,894 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-23 05:58:35,895 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-23 05:58:35,895 INFO L130 BoogieDeclarations]: Found specification of procedure write~intINTTYPE4 [2018-11-23 05:58:35,895 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-23 05:58:36,322 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 05:58:37,034 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 05:58:37,125 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 05:58:37,155 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 05:58:38,408 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 05:58:38,419 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 05:58:38,491 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 05:58:38,513 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 05:58:43,961 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 05:58:54,322 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-23 05:58:54,323 INFO L280 CfgBuilder]: Removed 16 assue(true) statements. [2018-11-23 05:58:54,323 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 05:58:54 BoogieIcfgContainer [2018-11-23 05:58:54,323 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-23 05:58:54,324 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2018-11-23 05:58:54,324 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2018-11-23 05:58:54,327 INFO L276 PluginConnector]: TraceAbstraction initialized [2018-11-23 05:58:54,329 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 23.11 05:58:35" (1/3) ... [2018-11-23 05:58:54,330 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@49e44369 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 05:58:54, skipping insertion in model container [2018-11-23 05:58:54,330 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 05:58:35" (2/3) ... [2018-11-23 05:58:54,330 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@49e44369 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.11 05:58:54, skipping insertion in model container [2018-11-23 05:58:54,330 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 05:58:54" (3/3) ... [2018-11-23 05:58:54,333 INFO L112 eAbstractionObserver]: Analyzing ICFG double_req_bl_0660b_true-unreach-call.c [2018-11-23 05:58:54,344 INFO L156 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2018-11-23 05:58:54,351 INFO L168 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2018-11-23 05:58:54,367 INFO L257 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2018-11-23 05:58:54,391 INFO L133 ementStrategyFactory]: Using default assertion order modulation [2018-11-23 05:58:54,391 INFO L382 AbstractCegarLoop]: Interprodecural is true [2018-11-23 05:58:54,391 INFO L383 AbstractCegarLoop]: Hoare is true [2018-11-23 05:58:54,391 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2018-11-23 05:58:54,391 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2018-11-23 05:58:54,392 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-11-23 05:58:54,392 INFO L387 AbstractCegarLoop]: Difference is false [2018-11-23 05:58:54,392 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-11-23 05:58:54,392 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2018-11-23 05:58:54,404 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states. [2018-11-23 05:58:54,408 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 20 [2018-11-23 05:58:54,408 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 05:58:54,409 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 05:58:54,410 INFO L423 AbstractCegarLoop]: === Iteration 1 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 05:58:54,413 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 05:58:54,414 INFO L82 PathProgramCache]: Analyzing trace with hash -1380022172, now seen corresponding path program 1 times [2018-11-23 05:58:54,417 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-23 05:58:54,418 INFO L69 tionRefinementEngine]: Using refinement strategy WalrusRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_67d8bab4-9054-4115-883d-da4f9337d291/bin-2019/utaipan/mathsat Starting monitored process 2 with mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 2 with mathsat -unsat_core_generation=3 [2018-11-23 05:58:54,422 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 05:58:54,622 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 05:58:54,653 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 05:58:54,673 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 05:58:54,673 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-23 05:58:54,686 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-23 05:58:54,686 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2018-11-23 05:58:54,689 INFO L459 AbstractCegarLoop]: Interpolant automaton has 2 states [2018-11-23 05:58:54,698 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2018-11-23 05:58:54,698 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-23 05:58:54,700 INFO L87 Difference]: Start difference. First operand 103 states. Second operand 2 states. [2018-11-23 05:58:54,725 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-23 05:58:54,726 INFO L93 Difference]: Finished difference Result 197 states and 314 transitions. [2018-11-23 05:58:54,726 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2018-11-23 05:58:54,727 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 19 [2018-11-23 05:58:54,727 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-23 05:58:54,735 INFO L225 Difference]: With dead ends: 197 [2018-11-23 05:58:54,736 INFO L226 Difference]: Without dead ends: 98 [2018-11-23 05:58:54,738 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 18 GetRequests, 18 SyntacticMatches, 0 SemanticMatches, 0 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-23 05:58:54,750 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 98 states. [2018-11-23 05:58:54,769 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 98 to 98. [2018-11-23 05:58:54,770 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 98 states. [2018-11-23 05:58:54,771 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 98 states to 98 states and 137 transitions. [2018-11-23 05:58:54,772 INFO L78 Accepts]: Start accepts. Automaton has 98 states and 137 transitions. Word has length 19 [2018-11-23 05:58:54,772 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-23 05:58:54,772 INFO L480 AbstractCegarLoop]: Abstraction has 98 states and 137 transitions. [2018-11-23 05:58:54,772 INFO L481 AbstractCegarLoop]: Interpolant automaton has 2 states. [2018-11-23 05:58:54,773 INFO L276 IsEmpty]: Start isEmpty. Operand 98 states and 137 transitions. [2018-11-23 05:58:54,773 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 22 [2018-11-23 05:58:54,773 INFO L394 BasicCegarLoop]: Found error trace [2018-11-23 05:58:54,773 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-23 05:58:54,773 INFO L423 AbstractCegarLoop]: === Iteration 2 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-23 05:58:54,774 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 05:58:54,774 INFO L82 PathProgramCache]: Analyzing trace with hash 959017453, now seen corresponding path program 1 times [2018-11-23 05:58:54,774 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-23 05:58:54,774 INFO L69 tionRefinementEngine]: Using refinement strategy WalrusRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_67d8bab4-9054-4115-883d-da4f9337d291/bin-2019/utaipan/mathsat Starting monitored process 3 with mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 3 with mathsat -unsat_core_generation=3 [2018-11-23 05:58:54,777 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-23 05:58:55,220 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 05:58:55,255 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 05:58:55,363 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 05:58:55,364 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 05:58:55,365 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 05:58:55,366 INFO L683 Elim1Store]: detected equality via solver [2018-11-23 05:58:55,370 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 4 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 5 new quantified variables, introduced 0 case distinctions, treesize of input 58 treesize of output 85 [2018-11-23 05:58:55,478 WARN L180 SmtUtils]: Spent 103.00 ms on a formula simplification. DAG size of input: 31 DAG size of output: 28 [2018-11-23 05:58:55,680 WARN L521 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 mathsat -unsat_core_generation=3 [2018-11-23 05:58:55,680 FATAL L292 ToolchainWalker]: The Plugin de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction has thrown an exception: java.lang.UnsupportedOperationException: nested self-update not yet implemented: (store v_arrayElimCell_1 (_ bv0 32) ((_ extract 31 0) v_prenex_53)) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.DerPreprocessor.constructReplacementForStoreCase(DerPreprocessor.java:248) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.DerPreprocessor.constructReplacement(DerPreprocessor.java:219) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.DerPreprocessor.constructReplacement(DerPreprocessor.java:210) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.DerPreprocessor.convert(DerPreprocessor.java:142) at de.uni_freiburg.informatik.ultimate.logic.TermTransformer.cacheConvert(TermTransformer.java:131) at de.uni_freiburg.informatik.ultimate.logic.TermTransformer.access$0(TermTransformer.java:127) at de.uni_freiburg.informatik.ultimate.logic.TermTransformer$Convert.walk(TermTransformer.java:79) at de.uni_freiburg.informatik.ultimate.logic.NonRecursive.run(NonRecursive.java:122) at de.uni_freiburg.informatik.ultimate.logic.NonRecursive.run(NonRecursive.java:113) at de.uni_freiburg.informatik.ultimate.logic.TermTransformer.transform(TermTransformer.java:253) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.Elim1Store.elim1(Elim1Store.java:211) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.ElimStorePlain.doElimOneRec(ElimStorePlain.java:221) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.ElimStorePlain.doElimAllRec(ElimStorePlain.java:247) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.ElimStorePlain.doElimOneRec(ElimStorePlain.java:225) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.ElimStorePlain.doElimAllRec(ElimStorePlain.java:247) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.ElimStorePlain.elimAllRec(ElimStorePlain.java:199) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.PartialQuantifierElimination.elim(PartialQuantifierElimination.java:293) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.PartialQuantifierElimination.tryToEliminate(PartialQuantifierElimination.java:101) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.predicates.IterativePredicateTransformer$QuantifierEliminationPostprocessor.postprocess(IterativePredicateTransformer.java:245) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.predicates.IterativePredicateTransformer.applyPostprocessors(IterativePredicateTransformer.java:439) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.predicates.IterativePredicateTransformer.computeStrongestPostconditionSequence(IterativePredicateTransformer.java:200) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.singletracecheck.TraceCheckSpWp.computeInterpolantsUsingUnsatCore(TraceCheckSpWp.java:286) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.singletracecheck.TraceCheckSpWp.computeInterpolants(TraceCheckSpWp.java:175) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.singletracecheck.TraceCheckSpWp.(TraceCheckSpWp.java:162) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.TraceCheckConstructor.constructForwardBackward(TraceCheckConstructor.java:224) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.TraceCheckConstructor.constructTraceCheck(TraceCheckConstructor.java:188) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.TraceCheckConstructor.get(TraceCheckConstructor.java:165) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.MultiTrackRefinementStrategy.getTraceCheck(MultiTrackRefinementStrategy.java:232) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.BaseRefinementStrategy.checkFeasibility(BaseRefinementStrategy.java:223) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.BaseRefinementStrategy.executeStrategy(BaseRefinementStrategy.java:197) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.TraceAbstractionRefinementEngine.(TraceAbstractionRefinementEngine.java:70) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.BasicCegarLoop.isCounterexampleFeasible(BasicCegarLoop.java:456) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.iterateInternal(AbstractCegarLoop.java:434) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.iterate(AbstractCegarLoop.java:376) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.iterate(TraceAbstractionStarter.java:334) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.runCegarLoops(TraceAbstractionStarter.java:174) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.(TraceAbstractionStarter.java:126) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver.finish(TraceAbstractionObserver.java:123) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runObserver(PluginConnector.java:168) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runTool(PluginConnector.java:151) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.run(PluginConnector.java:128) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.executePluginConnector(ToolchainWalker.java:232) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.processPlugin(ToolchainWalker.java:226) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walkUnprotected(ToolchainWalker.java:142) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walk(ToolchainWalker.java:104) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainManager$Toolchain.processToolchain(ToolchainManager.java:316) at de.uni_freiburg.informatik.ultimate.core.coreplugin.toolchain.DefaultToolchainJob.run(DefaultToolchainJob.java:145) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55) [2018-11-23 05:58:55,683 INFO L168 Benchmark]: Toolchain (without parser) took 20220.48 ms. Allocated memory was 1.0 GB in the beginning and 1.1 GB in the end (delta: 120.6 MB). Free memory was 949.7 MB in the beginning and 984.4 MB in the end (delta: -34.7 MB). Peak memory consumption was 85.9 MB. Max. memory is 11.5 GB. [2018-11-23 05:58:55,684 INFO L168 Benchmark]: CDTParser took 0.16 ms. Allocated memory is still 1.0 GB. Free memory is still 978.7 MB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-23 05:58:55,684 INFO L168 Benchmark]: CACSL2BoogieTranslator took 282.24 ms. Allocated memory is still 1.0 GB. Free memory was 949.7 MB in the beginning and 928.3 MB in the end (delta: 21.5 MB). Peak memory consumption was 21.5 MB. Max. memory is 11.5 GB. [2018-11-23 05:58:55,685 INFO L168 Benchmark]: Boogie Procedure Inliner took 25.81 ms. Allocated memory is still 1.0 GB. Free memory is still 928.3 MB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-23 05:58:55,685 INFO L168 Benchmark]: Boogie Preprocessor took 85.45 ms. Allocated memory was 1.0 GB in the beginning and 1.1 GB in the end (delta: 120.6 MB). Free memory was 928.3 MB in the beginning and 1.1 GB in the end (delta: -179.9 MB). Peak memory consumption was 15.9 MB. Max. memory is 11.5 GB. [2018-11-23 05:58:55,686 INFO L168 Benchmark]: RCFGBuilder took 18465.21 ms. Allocated memory is still 1.1 GB. Free memory was 1.1 GB in the beginning and 1.0 GB in the end (delta: 59.7 MB). Peak memory consumption was 59.7 MB. Max. memory is 11.5 GB. [2018-11-23 05:58:55,686 INFO L168 Benchmark]: TraceAbstraction took 1358.36 ms. Allocated memory is still 1.1 GB. Free memory was 1.0 GB in the beginning and 984.4 MB in the end (delta: 57.2 MB). Peak memory consumption was 57.2 MB. Max. memory is 11.5 GB. [2018-11-23 05:58:55,689 INFO L336 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.16 ms. Allocated memory is still 1.0 GB. Free memory is still 978.7 MB. There was no memory consumed. Max. memory is 11.5 GB. * CACSL2BoogieTranslator took 282.24 ms. Allocated memory is still 1.0 GB. Free memory was 949.7 MB in the beginning and 928.3 MB in the end (delta: 21.5 MB). Peak memory consumption was 21.5 MB. Max. memory is 11.5 GB. * Boogie Procedure Inliner took 25.81 ms. Allocated memory is still 1.0 GB. Free memory is still 928.3 MB. There was no memory consumed. Max. memory is 11.5 GB. * Boogie Preprocessor took 85.45 ms. Allocated memory was 1.0 GB in the beginning and 1.1 GB in the end (delta: 120.6 MB). Free memory was 928.3 MB in the beginning and 1.1 GB in the end (delta: -179.9 MB). Peak memory consumption was 15.9 MB. Max. memory is 11.5 GB. * RCFGBuilder took 18465.21 ms. Allocated memory is still 1.1 GB. Free memory was 1.1 GB in the beginning and 1.0 GB in the end (delta: 59.7 MB). Peak memory consumption was 59.7 MB. Max. memory is 11.5 GB. * TraceAbstraction took 1358.36 ms. Allocated memory is still 1.1 GB. Free memory was 1.0 GB in the beginning and 984.4 MB in the end (delta: 57.2 MB). Peak memory consumption was 57.2 MB. Max. memory is 11.5 GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - ExceptionOrErrorResult: UnsupportedOperationException: nested self-update not yet implemented: (store v_arrayElimCell_1 (_ bv0 32) ((_ extract 31 0) v_prenex_53)) de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: UnsupportedOperationException: nested self-update not yet implemented: (store v_arrayElimCell_1 (_ bv0 32) ((_ extract 31 0) v_prenex_53)): de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.DerPreprocessor.constructReplacementForStoreCase(DerPreprocessor.java:248) RESULT: Ultimate could not prove your program: Toolchain returned no result. [MP z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Forcibly destroying the process Received shutdown request...