./Ultimate.py --spec ../../sv-benchmarks/c/properties/unreach-call.prp --file ../../sv-benchmarks/c/float-newlib/double_req_bl_0670_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_aa1c0402-f08d-440c-b496-b6e82e54b41d/bin-2019/utaipan/data/config -Xmx12G -Xms1G -jar /tmp/vcloud-vcloud-master/worker/working_dir_aa1c0402-f08d-440c-b496-b6e82e54b41d/bin-2019/utaipan/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata /tmp/vcloud-vcloud-master/worker/working_dir_aa1c0402-f08d-440c-b496-b6e82e54b41d/bin-2019/utaipan/data -tc /tmp/vcloud-vcloud-master/worker/working_dir_aa1c0402-f08d-440c-b496-b6e82e54b41d/bin-2019/utaipan/config/TaipanReach.xml -i ../../sv-benchmarks/c/float-newlib/double_req_bl_0670_true-unreach-call.c -s /tmp/vcloud-vcloud-master/worker/working_dir_aa1c0402-f08d-440c-b496-b6e82e54b41d/bin-2019/utaipan/config/svcomp-Reach-32bit-Taipan_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /tmp/vcloud-vcloud-master/worker/working_dir_aa1c0402-f08d-440c-b496-b6e82e54b41d/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 7437f00c34877da3eeb70986d6a7f4bae4c9669a ............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................. 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_aa1c0402-f08d-440c-b496-b6e82e54b41d/bin-2019/utaipan/data/config -Xmx12G -Xms1G -jar /tmp/vcloud-vcloud-master/worker/working_dir_aa1c0402-f08d-440c-b496-b6e82e54b41d/bin-2019/utaipan/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata /tmp/vcloud-vcloud-master/worker/working_dir_aa1c0402-f08d-440c-b496-b6e82e54b41d/bin-2019/utaipan/data -tc /tmp/vcloud-vcloud-master/worker/working_dir_aa1c0402-f08d-440c-b496-b6e82e54b41d/bin-2019/utaipan/config/TaipanReach.xml -i ../../sv-benchmarks/c/float-newlib/double_req_bl_0670_true-unreach-call.c -s /tmp/vcloud-vcloud-master/worker/working_dir_aa1c0402-f08d-440c-b496-b6e82e54b41d/bin-2019/utaipan/config/svcomp-Reach-32bit-Taipan_Bitvector.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /tmp/vcloud-vcloud-master/worker/working_dir_aa1c0402-f08d-440c-b496-b6e82e54b41d/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 7437f00c34877da3eeb70986d6a7f4bae4c9669a ........................................................................................................................................................................................................................................................................................................................................................................................................................... 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-22 21:57:50,773 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-22 21:57:50,774 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-22 21:57:50,782 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-22 21:57:50,782 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-22 21:57:50,783 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-22 21:57:50,784 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-22 21:57:50,785 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-22 21:57:50,786 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-22 21:57:50,786 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-22 21:57:50,787 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-22 21:57:50,787 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-22 21:57:50,788 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-22 21:57:50,788 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-22 21:57:50,789 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-22 21:57:50,790 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-22 21:57:50,790 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-22 21:57:50,792 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-22 21:57:50,793 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-22 21:57:50,794 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-22 21:57:50,795 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-22 21:57:50,795 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-22 21:57:50,797 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-22 21:57:50,797 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-22 21:57:50,797 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-22 21:57:50,798 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-22 21:57:50,799 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-22 21:57:50,800 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-22 21:57:50,800 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-22 21:57:50,801 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-22 21:57:50,801 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-22 21:57:50,801 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-22 21:57:50,801 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-22 21:57:50,802 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-22 21:57:50,802 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-22 21:57:50,803 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-22 21:57:50,803 INFO L98 SettingsManager]: Beginning loading settings from /tmp/vcloud-vcloud-master/worker/working_dir_aa1c0402-f08d-440c-b496-b6e82e54b41d/bin-2019/utaipan/config/svcomp-Reach-32bit-Taipan_Default.epf [2018-11-22 21:57:50,813 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-22 21:57:50,813 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-22 21:57:50,814 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-22 21:57:50,814 INFO L133 SettingsManager]: * ... calls to implemented procedures=ONLY_FOR_CONCURRENT_PROGRAMS [2018-11-22 21:57:50,814 INFO L133 SettingsManager]: * User list type=DISABLED [2018-11-22 21:57:50,814 INFO L131 SettingsManager]: Preferences of Abstract Interpretation differ from their defaults: [2018-11-22 21:57:50,814 INFO L133 SettingsManager]: * Explicit value domain=true [2018-11-22 21:57:50,814 INFO L133 SettingsManager]: * Abstract domain for RCFG-of-the-future=PoormanAbstractDomain [2018-11-22 21:57:50,814 INFO L133 SettingsManager]: * Octagon Domain=false [2018-11-22 21:57:50,814 INFO L133 SettingsManager]: * Abstract domain=CompoundDomain [2018-11-22 21:57:50,814 INFO L133 SettingsManager]: * Check feasibility of abstract posts with an SMT solver=true [2018-11-22 21:57:50,815 INFO L133 SettingsManager]: * Use the RCFG-of-the-future interface=true [2018-11-22 21:57:50,815 INFO L133 SettingsManager]: * Interval Domain=false [2018-11-22 21:57:50,815 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-22 21:57:50,815 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-22 21:57:50,815 INFO L133 SettingsManager]: * Overapproximate operations on floating types=true [2018-11-22 21:57:50,815 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-22 21:57:50,816 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-22 21:57:50,816 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-22 21:57:50,816 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-22 21:57:50,816 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-22 21:57:50,816 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-22 21:57:50,816 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-22 21:57:50,816 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-22 21:57:50,817 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-22 21:57:50,817 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-22 21:57:50,817 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-11-22 21:57:50,817 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-22 21:57:50,817 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-11-22 21:57:50,817 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-22 21:57:50,817 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-22 21:57:50,817 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-22 21:57:50,817 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-22 21:57:50,817 INFO L133 SettingsManager]: * Trace refinement strategy=TAIPAN [2018-11-22 21:57:50,817 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-22 21:57:50,818 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2018-11-22 21:57:50,818 INFO L133 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2018-11-22 21:57:50,818 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_aa1c0402-f08d-440c-b496-b6e82e54b41d/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 -> 7437f00c34877da3eeb70986d6a7f4bae4c9669a [2018-11-22 21:57:50,841 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-22 21:57:50,850 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-22 21:57:50,853 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-22 21:57:50,854 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-22 21:57:50,855 INFO L276 PluginConnector]: CDTParser initialized [2018-11-22 21:57:50,855 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /tmp/vcloud-vcloud-master/worker/working_dir_aa1c0402-f08d-440c-b496-b6e82e54b41d/bin-2019/utaipan/../../sv-benchmarks/c/float-newlib/double_req_bl_0670_true-unreach-call.c [2018-11-22 21:57:50,898 INFO L221 CDTParser]: Created temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_aa1c0402-f08d-440c-b496-b6e82e54b41d/bin-2019/utaipan/data/1598e6d70/936ddecb451240329ed3011a380a5f03/FLAGb52085311 [2018-11-22 21:57:51,320 INFO L307 CDTParser]: Found 1 translation units. [2018-11-22 21:57:51,320 INFO L161 CDTParser]: Scanning /tmp/vcloud-vcloud-master/worker/working_dir_aa1c0402-f08d-440c-b496-b6e82e54b41d/sv-benchmarks/c/float-newlib/double_req_bl_0670_true-unreach-call.c [2018-11-22 21:57:51,327 INFO L355 CDTParser]: About to delete temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_aa1c0402-f08d-440c-b496-b6e82e54b41d/bin-2019/utaipan/data/1598e6d70/936ddecb451240329ed3011a380a5f03/FLAGb52085311 [2018-11-22 21:57:51,337 INFO L363 CDTParser]: Successfully deleted /tmp/vcloud-vcloud-master/worker/working_dir_aa1c0402-f08d-440c-b496-b6e82e54b41d/bin-2019/utaipan/data/1598e6d70/936ddecb451240329ed3011a380a5f03 [2018-11-22 21:57:51,339 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-22 21:57:51,339 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-22 21:57:51,340 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-22 21:57:51,340 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-22 21:57:51,342 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-22 21:57:51,343 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 22.11 09:57:51" (1/1) ... [2018-11-22 21:57:51,345 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@2b12e5c6 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 09:57:51, skipping insertion in model container [2018-11-22 21:57:51,345 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 22.11 09:57:51" (1/1) ... [2018-11-22 21:57:51,351 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-22 21:57:51,372 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-22 21:57:51,530 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-22 21:57:51,535 INFO L191 MainTranslator]: Completed pre-run [2018-11-22 21:57:51,575 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-22 21:57:51,640 INFO L195 MainTranslator]: Completed translation [2018-11-22 21:57:51,640 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 09:57:51 WrapperNode [2018-11-22 21:57:51,640 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-22 21:57:51,641 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-22 21:57:51,641 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-22 21:57:51,641 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-22 21:57:51,646 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 09:57:51" (1/1) ... [2018-11-22 21:57:51,654 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 09:57:51" (1/1) ... [2018-11-22 21:57:51,659 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-22 21:57:51,660 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-22 21:57:51,660 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-22 21:57:51,660 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-22 21:57:51,665 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 09:57:51" (1/1) ... [2018-11-22 21:57:51,666 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 09:57:51" (1/1) ... [2018-11-22 21:57:51,670 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 09:57:51" (1/1) ... [2018-11-22 21:57:51,670 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 09:57:51" (1/1) ... [2018-11-22 21:57:51,688 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 09:57:51" (1/1) ... [2018-11-22 21:57:51,696 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 09:57:51" (1/1) ... [2018-11-22 21:57:51,699 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 09:57:51" (1/1) ... [2018-11-22 21:57:51,702 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-22 21:57:51,702 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-22 21:57:51,702 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-22 21:57:51,702 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-22 21:57:51,703 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 09:57:51" (1/1) ... No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_aa1c0402-f08d-440c-b496-b6e82e54b41d/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-22 21:57:51,736 INFO L130 BoogieDeclarations]: Found specification of procedure isnan_double [2018-11-22 21:57:51,736 INFO L138 BoogieDeclarations]: Found implementation of procedure isnan_double [2018-11-22 21:57:51,736 INFO L130 BoogieDeclarations]: Found specification of procedure main [2018-11-22 21:57:51,736 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2018-11-22 21:57:51,736 INFO L130 BoogieDeclarations]: Found specification of procedure __ieee754_atan2 [2018-11-22 21:57:51,736 INFO L138 BoogieDeclarations]: Found implementation of procedure __ieee754_atan2 [2018-11-22 21:57:51,737 INFO L130 BoogieDeclarations]: Found specification of procedure read~real [2018-11-22 21:57:51,737 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2018-11-22 21:57:51,737 INFO L130 BoogieDeclarations]: Found specification of procedure fabs_double [2018-11-22 21:57:51,737 INFO L138 BoogieDeclarations]: Found implementation of procedure fabs_double [2018-11-22 21:57:51,737 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2018-11-22 21:57:51,737 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2018-11-22 21:57:51,737 INFO L130 BoogieDeclarations]: Found specification of procedure write~real [2018-11-22 21:57:51,737 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-22 21:57:51,738 INFO L130 BoogieDeclarations]: Found specification of procedure atan_double [2018-11-22 21:57:51,738 INFO L138 BoogieDeclarations]: Found implementation of procedure atan_double [2018-11-22 21:57:51,738 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-22 21:57:51,738 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-22 21:57:51,738 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2018-11-22 21:57:51,738 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~real [2018-11-22 21:57:51,738 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-22 21:57:52,165 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-22 21:57:52,165 INFO L280 CfgBuilder]: Removed 16 assue(true) statements. [2018-11-22 21:57:52,165 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 22.11 09:57:52 BoogieIcfgContainer [2018-11-22 21:57:52,165 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-22 21:57:52,166 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2018-11-22 21:57:52,166 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2018-11-22 21:57:52,168 INFO L276 PluginConnector]: TraceAbstraction initialized [2018-11-22 21:57:52,168 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 22.11 09:57:51" (1/3) ... [2018-11-22 21:57:52,168 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@2d978e91 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 22.11 09:57:52, skipping insertion in model container [2018-11-22 21:57:52,169 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 09:57:51" (2/3) ... [2018-11-22 21:57:52,169 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@2d978e91 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 22.11 09:57:52, skipping insertion in model container [2018-11-22 21:57:52,169 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 22.11 09:57:52" (3/3) ... [2018-11-22 21:57:52,170 INFO L112 eAbstractionObserver]: Analyzing ICFG double_req_bl_0670_true-unreach-call.c [2018-11-22 21:57:52,176 INFO L156 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2018-11-22 21:57:52,182 INFO L168 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2018-11-22 21:57:52,191 INFO L257 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2018-11-22 21:57:52,214 INFO L382 AbstractCegarLoop]: Interprodecural is true [2018-11-22 21:57:52,214 INFO L383 AbstractCegarLoop]: Hoare is true [2018-11-22 21:57:52,214 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2018-11-22 21:57:52,214 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2018-11-22 21:57:52,214 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-11-22 21:57:52,214 INFO L387 AbstractCegarLoop]: Difference is false [2018-11-22 21:57:52,214 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-11-22 21:57:52,214 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2018-11-22 21:57:52,226 INFO L276 IsEmpty]: Start isEmpty. Operand 113 states. [2018-11-22 21:57:52,231 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 31 [2018-11-22 21:57:52,232 INFO L394 BasicCegarLoop]: Found error trace [2018-11-22 21:57:52,232 INFO L402 BasicCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-22 21:57:52,234 INFO L423 AbstractCegarLoop]: === Iteration 1 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-22 21:57:52,237 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-22 21:57:52,237 INFO L82 PathProgramCache]: Analyzing trace with hash -598334976, now seen corresponding path program 1 times [2018-11-22 21:57:52,239 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-11-22 21:57:52,267 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-22 21:57:52,267 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-22 21:57:52,267 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-22 21:57:52,267 INFO L286 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-11-22 21:57:52,312 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-22 21:57:52,349 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2018-11-22 21:57:52,351 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-22 21:57:52,351 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2018-11-22 21:57:52,351 INFO L256 anRefinementStrategy]: Using the first perfect interpolant sequence [2018-11-22 21:57:52,355 INFO L459 AbstractCegarLoop]: Interpolant automaton has 2 states [2018-11-22 21:57:52,362 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2018-11-22 21:57:52,363 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-22 21:57:52,364 INFO L87 Difference]: Start difference. First operand 113 states. Second operand 2 states. [2018-11-22 21:57:52,388 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-22 21:57:52,389 INFO L93 Difference]: Finished difference Result 212 states and 332 transitions. [2018-11-22 21:57:52,389 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2018-11-22 21:57:52,390 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 30 [2018-11-22 21:57:52,390 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-22 21:57:52,396 INFO L225 Difference]: With dead ends: 212 [2018-11-22 21:57:52,396 INFO L226 Difference]: Without dead ends: 108 [2018-11-22 21:57:52,399 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-22 21:57:52,412 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 108 states. [2018-11-22 21:57:52,429 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 108 to 108. [2018-11-22 21:57:52,430 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 108 states. [2018-11-22 21:57:52,431 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 108 states to 108 states and 150 transitions. [2018-11-22 21:57:52,432 INFO L78 Accepts]: Start accepts. Automaton has 108 states and 150 transitions. Word has length 30 [2018-11-22 21:57:52,434 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-22 21:57:52,434 INFO L480 AbstractCegarLoop]: Abstraction has 108 states and 150 transitions. [2018-11-22 21:57:52,434 INFO L481 AbstractCegarLoop]: Interpolant automaton has 2 states. [2018-11-22 21:57:52,434 INFO L276 IsEmpty]: Start isEmpty. Operand 108 states and 150 transitions. [2018-11-22 21:57:52,436 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2018-11-22 21:57:52,436 INFO L394 BasicCegarLoop]: Found error trace [2018-11-22 21:57:52,436 INFO L402 BasicCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-22 21:57:52,436 INFO L423 AbstractCegarLoop]: === Iteration 2 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-22 21:57:52,436 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-22 21:57:52,437 INFO L82 PathProgramCache]: Analyzing trace with hash 1940139543, now seen corresponding path program 1 times [2018-11-22 21:57:52,437 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-11-22 21:57:52,438 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-22 21:57:52,438 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-22 21:57:52,438 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-22 21:57:52,438 INFO L286 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-11-22 21:57:52,482 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-22 21:57:52,512 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-22 21:57:52,541 INFO L469 BasicCegarLoop]: Counterexample might be feasible ----- class de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder.RCFGBacktranslator [?] CALL call ULTIMATE.init(); VAL [|#NULL.base|=114, |#NULL.offset|=108, |old(#NULL.base)|=114, |old(#NULL.offset)|=108, |old(~#aT_atan~0.base)|=100, |old(~#aT_atan~0.offset)|=106, |old(~#atanhi_atan~0.base)|=102, |old(~#atanhi_atan~0.offset)|=111, |old(~#atanlo_atan~0.base)|=96, |old(~#atanlo_atan~0.offset)|=120, |old(~huge_atan~0)|=115.0, |old(~one_atan~0)|=107.0, |old(~pi_lo_atan2~0)|=105.0, |old(~pi_o_2~0)|=89.0, |old(~pi_o_4~0)|=109.0, |old(~pi~0)|=113.0, |old(~tiny_atan2~0)|=119.0, |old(~zero_atan2~0)|=99.0, |~#aT_atan~0.base|=100, |~#aT_atan~0.offset|=106, |~#atanhi_atan~0.base|=102, |~#atanhi_atan~0.offset|=111, |~#atanlo_atan~0.base|=96, |~#atanlo_atan~0.offset|=120, ~huge_atan~0=115.0, ~one_atan~0=107.0, ~pi_lo_atan2~0=105.0, ~pi_o_2~0=89.0, ~pi_o_4~0=109.0, ~pi~0=113.0, ~tiny_atan2~0=119.0, ~zero_atan2~0=99.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)|=114, |old(#NULL.offset)|=108, |old(~#aT_atan~0.base)|=100, |old(~#aT_atan~0.offset)|=106, |old(~#atanhi_atan~0.base)|=102, |old(~#atanhi_atan~0.offset)|=111, |old(~#atanlo_atan~0.base)|=96, |old(~#atanlo_atan~0.offset)|=120, |old(~huge_atan~0)|=115.0, |old(~one_atan~0)|=107.0, |old(~pi_lo_atan2~0)|=105.0, |old(~pi_o_2~0)|=89.0, |old(~pi_o_4~0)|=109.0, |old(~pi~0)|=113.0, |old(~tiny_atan2~0)|=119.0, |old(~zero_atan2~0)|=99.0, |~#aT_atan~0.base|=101, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=103, |~#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)|=114, |old(#NULL.offset)|=108, |old(~#aT_atan~0.base)|=100, |old(~#aT_atan~0.offset)|=106, |old(~#atanhi_atan~0.base)|=102, |old(~#atanhi_atan~0.offset)|=111, |old(~#atanlo_atan~0.base)|=96, |old(~#atanlo_atan~0.offset)|=120, |old(~huge_atan~0)|=115.0, |old(~one_atan~0)|=107.0, |old(~pi_lo_atan2~0)|=105.0, |old(~pi_o_2~0)|=89.0, |old(~pi_o_4~0)|=109.0, |old(~pi~0)|=113.0, |old(~tiny_atan2~0)|=119.0, |old(~zero_atan2~0)|=99.0, |~#aT_atan~0.base|=101, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=103, |~#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 #357#return; VAL [|#NULL.base|=0, |#NULL.offset|=0, |~#aT_atan~0.base|=101, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=103, |~#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~ret55 := main(); VAL [|#NULL.base|=0, |#NULL.offset|=0, |~#aT_atan~0.base|=101, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=103, |~#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 := #t~nondet49;havoc #t~nondet49; VAL [main_~x~0=110.0, main_~y~0=116.0, |#NULL.base|=0, |#NULL.offset|=0, |~#aT_atan~0.base|=101, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=103, |~#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 := isnan_double(~x~0); VAL [|#NULL.base|=0, |#NULL.offset|=0, |isnan_double_#in~x|=110.0, |~#aT_atan~0.base|=101, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=103, |~#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 := #in~x;#res := (if ~someBinaryDOUBLEComparisonOperation(~x, ~x) then 1 else 0); VAL [isnan_double_~x=110.0, |#NULL.base|=0, |#NULL.offset|=0, |isnan_double_#in~x|=110.0, |isnan_double_#res|=1, |~#aT_atan~0.base|=101, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=103, |~#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 [isnan_double_~x=110.0, |#NULL.base|=0, |#NULL.offset|=0, |isnan_double_#in~x|=110.0, |isnan_double_#res|=1, |~#aT_atan~0.base|=101, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=103, |~#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 #341#return; VAL [main_~x~0=110.0, main_~y~0=116.0, |#NULL.base|=0, |#NULL.offset|=0, |main_#t~ret50|=1, |~#aT_atan~0.base|=101, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=103, |~#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 -2147483648 <= #t~ret50 && #t~ret50 <= 2147483647;#t~short52 := 0 != #t~ret50; VAL [main_~x~0=110.0, main_~y~0=116.0, |#NULL.base|=0, |#NULL.offset|=0, |main_#t~ret50|=1, |main_#t~short52|=true, |~#aT_atan~0.base|=101, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=103, |~#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 #t~short52; VAL [main_~x~0=110.0, main_~y~0=116.0, |#NULL.base|=0, |#NULL.offset|=0, |main_#t~ret50|=1, |main_#t~short52|=true, |~#aT_atan~0.base|=101, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=103, |~#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 #t~short52;havoc #t~short52;havoc #t~ret51;havoc #t~ret50; VAL [main_~x~0=110.0, main_~y~0=116.0, |#NULL.base|=0, |#NULL.offset|=0, |~#aT_atan~0.base|=101, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=103, |~#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~ret53 := __ieee754_atan2(~y~0, ~x~0); VAL [|#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=110.0, |__ieee754_atan2_#in~y|=116.0, |~#aT_atan~0.base|=101, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=103, |~#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=110.0, __ieee754_atan2_~y=116.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=110.0, |__ieee754_atan2_#in~y|=116.0, |~#aT_atan~0.base|=101, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=103, |~#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=117, __ieee754_atan2_~x=110.0, __ieee754_atan2_~y=116.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=110.0, |__ieee754_atan2_#in~y|=116.0, |~#aT_atan~0.base|=101, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=103, |~#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=117, __ieee754_atan2_~x=110.0, __ieee754_atan2_~y=116.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=110.0, |__ieee754_atan2_#in~y|=116.0, |~#aT_atan~0.base|=101, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=103, |~#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=117, __ieee754_atan2_~x=110.0, __ieee754_atan2_~y=116.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=110.0, |__ieee754_atan2_#in~y|=116.0, |~#aT_atan~0.base|=101, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=103, |~#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~union32;havoc #t~mem31;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~mem33;havoc #t~union34;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=117, __ieee754_atan2_~ly~0=97, __ieee754_atan2_~x=110.0, __ieee754_atan2_~y=116.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=110.0, |__ieee754_atan2_#in~y|=116.0, |~#aT_atan~0.base|=101, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=103, |~#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=117, __ieee754_atan2_~ly~0=97, __ieee754_atan2_~x=110.0, __ieee754_atan2_~y=116.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=110.0, |__ieee754_atan2_#in~y|=116.0, |~#aT_atan~0.base|=101, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=103, |~#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=117, __ieee754_atan2_~ly~0=97, __ieee754_atan2_~x=110.0, __ieee754_atan2_~y=116.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=110.0, |__ieee754_atan2_#in~y|=116.0, |~#aT_atan~0.base|=101, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=103, |~#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=117, __ieee754_atan2_~ly~0=97, __ieee754_atan2_~x=110.0, __ieee754_atan2_~y=116.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=110.0, |__ieee754_atan2_#in~y|=116.0, |~#aT_atan~0.base|=101, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=103, |~#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=117, __ieee754_atan2_~ly~0=97, __ieee754_atan2_~x=110.0, __ieee754_atan2_~y=116.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=110.0, |__ieee754_atan2_#in~y|=116.0, |~#aT_atan~0.base|=101, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=103, |~#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 #345#return; VAL [main_~x~0=110.0, main_~y~0=116.0, |#NULL.base|=0, |#NULL.offset|=0, |main_#t~ret53|=98.0, |~#aT_atan~0.base|=101, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=103, |~#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~ret53;havoc #t~ret53; VAL [main_~res~0=98.0, main_~x~0=110.0, main_~y~0=116.0, |#NULL.base|=0, |#NULL.offset|=0, |~#aT_atan~0.base|=101, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=103, |~#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~ret54 := isnan_double(~res~0); VAL [|#NULL.base|=0, |#NULL.offset|=0, |isnan_double_#in~x|=98.0, |~#aT_atan~0.base|=101, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=103, |~#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 := #in~x;#res := (if ~someBinaryDOUBLEComparisonOperation(~x, ~x) then 1 else 0); VAL [isnan_double_~x=98.0, |#NULL.base|=0, |#NULL.offset|=0, |isnan_double_#in~x|=98.0, |isnan_double_#res|=0, |~#aT_atan~0.base|=101, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=103, |~#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 [isnan_double_~x=98.0, |#NULL.base|=0, |#NULL.offset|=0, |isnan_double_#in~x|=98.0, |isnan_double_#res|=0, |~#aT_atan~0.base|=101, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=103, |~#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 #347#return; VAL [main_~res~0=98.0, main_~x~0=110.0, main_~y~0=116.0, |#NULL.base|=0, |#NULL.offset|=0, |main_#t~ret54|=0, |~#aT_atan~0.base|=101, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=103, |~#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 -2147483648 <= #t~ret54 && #t~ret54 <= 2147483647; VAL [main_~res~0=98.0, main_~x~0=110.0, main_~y~0=116.0, |#NULL.base|=0, |#NULL.offset|=0, |main_#t~ret54|=0, |~#aT_atan~0.base|=101, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=103, |~#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 0 == #t~ret54;havoc #t~ret54; VAL [main_~res~0=98.0, main_~x~0=110.0, main_~y~0=116.0, |#NULL.base|=0, |#NULL.offset|=0, |~#aT_atan~0.base|=101, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=103, |~#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=98.0, main_~x~0=110.0, main_~y~0=116.0, |#NULL.base|=0, |#NULL.offset|=0, |~#aT_atan~0.base|=101, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=103, |~#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=114, #NULL.offset=108, old(#NULL.base)=114, old(#NULL.offset)=108, old(~#aT_atan~0.base)=100, old(~#aT_atan~0.offset)=106, old(~#atanhi_atan~0.base)=102, old(~#atanhi_atan~0.offset)=111, old(~#atanlo_atan~0.base)=96, old(~#atanlo_atan~0.offset)=120, old(~huge_atan~0)=115.0, old(~one_atan~0)=107.0, old(~pi_lo_atan2~0)=105.0, old(~pi_o_2~0)=89.0, old(~pi_o_4~0)=109.0, old(~pi~0)=113.0, old(~tiny_atan2~0)=119.0, old(~zero_atan2~0)=99.0, ~#aT_atan~0.base=100, ~#aT_atan~0.offset=106, ~#atanhi_atan~0.base=102, ~#atanhi_atan~0.offset=111, ~#atanlo_atan~0.base=96, ~#atanlo_atan~0.offset=120, ~huge_atan~0=115.0, ~one_atan~0=107.0, ~pi_lo_atan2~0=105.0, ~pi_o_2~0=89.0, ~pi_o_4~0=109.0, ~pi~0=113.0, ~tiny_atan2~0=119.0, ~zero_atan2~0=99.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)=114, old(#NULL.offset)=108, old(~#aT_atan~0.base)=100, old(~#aT_atan~0.offset)=106, old(~#atanhi_atan~0.base)=102, old(~#atanhi_atan~0.offset)=111, old(~#atanlo_atan~0.base)=96, old(~#atanlo_atan~0.offset)=120, old(~huge_atan~0)=115.0, old(~one_atan~0)=107.0, old(~pi_lo_atan2~0)=105.0, old(~pi_o_2~0)=89.0, old(~pi_o_4~0)=109.0, old(~pi~0)=113.0, old(~tiny_atan2~0)=119.0, old(~zero_atan2~0)=99.0, ~#aT_atan~0.base=101, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=103, ~#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)=114, old(#NULL.offset)=108, old(~#aT_atan~0.base)=100, old(~#aT_atan~0.offset)=106, old(~#atanhi_atan~0.base)=102, old(~#atanhi_atan~0.offset)=111, old(~#atanlo_atan~0.base)=96, old(~#atanlo_atan~0.offset)=120, old(~huge_atan~0)=115.0, old(~one_atan~0)=107.0, old(~pi_lo_atan2~0)=105.0, old(~pi_o_2~0)=89.0, old(~pi_o_4~0)=109.0, old(~pi~0)=113.0, old(~tiny_atan2~0)=119.0, old(~zero_atan2~0)=99.0, ~#aT_atan~0.base=101, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=103, ~#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=101, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=103, ~#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~ret55 := main(); VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=101, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=103, ~#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] [L253] ~x~0 := #t~nondet48; [L253] havoc #t~nondet48; [L254] ~y~0 := #t~nondet49; [L254] havoc #t~nondet49; VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=101, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=103, ~#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=110.0, ~y~0=116.0, ~zero_atan2~0=0.0] [L256] CALL call #t~ret50 := isnan_double(~x~0); VAL [#in~x=110.0, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=101, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=103, ~#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] [L245] ~x := #in~x; [L245] #res := (if ~someBinaryDOUBLEComparisonOperation(~x, ~x) then 1 else 0); VAL [#in~x=110.0, #NULL.base=0, #NULL.offset=0, #res=1, ~#aT_atan~0.base=101, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=103, ~#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=110.0, ~zero_atan2~0=0.0] [L245] ensures true; VAL [#in~x=110.0, #NULL.base=0, #NULL.offset=0, #res=1, ~#aT_atan~0.base=101, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=103, ~#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=110.0, ~zero_atan2~0=0.0] [L256] RET call #t~ret50 := isnan_double(~x~0); VAL [#NULL.base=0, #NULL.offset=0, #t~ret50=1, ~#aT_atan~0.base=101, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=103, ~#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=110.0, ~y~0=116.0, ~zero_atan2~0=0.0] [L256] assume -2147483648 <= #t~ret50 && #t~ret50 <= 2147483647; [L256] #t~short52 := 0 != #t~ret50; VAL [#NULL.base=0, #NULL.offset=0, #t~ret50=1, #t~short52=true, ~#aT_atan~0.base=101, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=103, ~#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=110.0, ~y~0=116.0, ~zero_atan2~0=0.0] [L256] assume #t~short52; VAL [#NULL.base=0, #NULL.offset=0, #t~ret50=1, #t~short52=true, ~#aT_atan~0.base=101, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=103, ~#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=110.0, ~y~0=116.0, ~zero_atan2~0=0.0] [L256-L265] assume #t~short52; [L256] havoc #t~short52; [L256] havoc #t~ret51; [L256] havoc #t~ret50; VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=101, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=103, ~#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=110.0, ~y~0=116.0, ~zero_atan2~0=0.0] [L258] CALL call #t~ret53 := __ieee754_atan2(~y~0, ~x~0); VAL [#in~x=110.0, #in~y=116.0, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=101, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=103, ~#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=110.0, #in~y=116.0, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=101, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=103, ~#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=110.0, ~y=116.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=110.0, #in~y=116.0, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=101, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=103, ~#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=117, ~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=110.0, ~y=116.0, ~zero_atan2~0=0.0] [L153] ~ix~1 := ~bitwiseAnd(~hx~1, 2147483647); VAL [#in~x=110.0, #in~y=116.0, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=101, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=103, ~#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=117, ~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=110.0, ~y=116.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~union32; [L157] havoc #t~mem31; [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~mem33; [L158] havoc #t~union34; [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=110.0, #in~y=116.0, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=101, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=103, ~#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=117, ~ly~0=97, ~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=110.0, ~y=116.0, ~zero_atan2~0=0.0] [L160] ~iy~0 := ~bitwiseAnd(~hy~0, 2147483647); VAL [#in~x=110.0, #in~y=116.0, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=101, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=103, ~#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=117, ~ly~0=97, ~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=110.0, ~y=116.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=110.0, #in~y=116.0, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=101, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=103, ~#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=117, ~ly~0=97, ~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=110.0, ~y=116.0, ~zero_atan2~0=0.0] [L142-L242] ensures true; VAL [#in~x=110.0, #in~y=116.0, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=101, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=103, ~#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=117, ~ly~0=97, ~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=110.0, ~y=116.0, ~zero_atan2~0=0.0] [L258] RET call #t~ret53 := __ieee754_atan2(~y~0, ~x~0); VAL [#NULL.base=0, #NULL.offset=0, #t~ret53=98.0, ~#aT_atan~0.base=101, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=103, ~#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=110.0, ~y~0=116.0, ~zero_atan2~0=0.0] [L258] ~res~0 := #t~ret53; [L258] havoc #t~ret53; VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=101, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=103, ~#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=98.0, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=110.0, ~y~0=116.0, ~zero_atan2~0=0.0] [L261] CALL call #t~ret54 := isnan_double(~res~0); VAL [#in~x=98.0, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=101, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=103, ~#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] [L245] ~x := #in~x; [L245] #res := (if ~someBinaryDOUBLEComparisonOperation(~x, ~x) then 1 else 0); VAL [#in~x=98.0, #NULL.base=0, #NULL.offset=0, #res=0, ~#aT_atan~0.base=101, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=103, ~#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=98.0, ~zero_atan2~0=0.0] [L245] ensures true; VAL [#in~x=98.0, #NULL.base=0, #NULL.offset=0, #res=0, ~#aT_atan~0.base=101, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=103, ~#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=98.0, ~zero_atan2~0=0.0] [L261] RET call #t~ret54 := isnan_double(~res~0); VAL [#NULL.base=0, #NULL.offset=0, #t~ret54=0, ~#aT_atan~0.base=101, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=103, ~#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=98.0, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=110.0, ~y~0=116.0, ~zero_atan2~0=0.0] [L261] assume -2147483648 <= #t~ret54 && #t~ret54 <= 2147483647; VAL [#NULL.base=0, #NULL.offset=0, #t~ret54=0, ~#aT_atan~0.base=101, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=103, ~#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=98.0, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=110.0, ~y~0=116.0, ~zero_atan2~0=0.0] [L261-L264] assume 0 == #t~ret54; [L261] havoc #t~ret54; VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=101, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=103, ~#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=98.0, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=110.0, ~y~0=116.0, ~zero_atan2~0=0.0] [L262] assert false; VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=101, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=103, ~#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=98.0, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=110.0, ~y~0=116.0, ~zero_atan2~0=0.0] ----- ----- class de.uni_freiburg.informatik.ultimate.boogie.preprocessor.BoogiePreprocessorBacktranslator [?] CALL call ULTIMATE.init(); VAL [#NULL.base=114, #NULL.offset=108, old(#NULL.base)=114, old(#NULL.offset)=108, old(~#aT_atan~0.base)=100, old(~#aT_atan~0.offset)=106, old(~#atanhi_atan~0.base)=102, old(~#atanhi_atan~0.offset)=111, old(~#atanlo_atan~0.base)=96, old(~#atanlo_atan~0.offset)=120, old(~huge_atan~0)=115.0, old(~one_atan~0)=107.0, old(~pi_lo_atan2~0)=105.0, old(~pi_o_2~0)=89.0, old(~pi_o_4~0)=109.0, old(~pi~0)=113.0, old(~tiny_atan2~0)=119.0, old(~zero_atan2~0)=99.0, ~#aT_atan~0.base=100, ~#aT_atan~0.offset=106, ~#atanhi_atan~0.base=102, ~#atanhi_atan~0.offset=111, ~#atanlo_atan~0.base=96, ~#atanlo_atan~0.offset=120, ~huge_atan~0=115.0, ~one_atan~0=107.0, ~pi_lo_atan2~0=105.0, ~pi_o_2~0=89.0, ~pi_o_4~0=109.0, ~pi~0=113.0, ~tiny_atan2~0=119.0, ~zero_atan2~0=99.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)=114, old(#NULL.offset)=108, old(~#aT_atan~0.base)=100, old(~#aT_atan~0.offset)=106, old(~#atanhi_atan~0.base)=102, old(~#atanhi_atan~0.offset)=111, old(~#atanlo_atan~0.base)=96, old(~#atanlo_atan~0.offset)=120, old(~huge_atan~0)=115.0, old(~one_atan~0)=107.0, old(~pi_lo_atan2~0)=105.0, old(~pi_o_2~0)=89.0, old(~pi_o_4~0)=109.0, old(~pi~0)=113.0, old(~tiny_atan2~0)=119.0, old(~zero_atan2~0)=99.0, ~#aT_atan~0.base=101, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=103, ~#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)=114, old(#NULL.offset)=108, old(~#aT_atan~0.base)=100, old(~#aT_atan~0.offset)=106, old(~#atanhi_atan~0.base)=102, old(~#atanhi_atan~0.offset)=111, old(~#atanlo_atan~0.base)=96, old(~#atanlo_atan~0.offset)=120, old(~huge_atan~0)=115.0, old(~one_atan~0)=107.0, old(~pi_lo_atan2~0)=105.0, old(~pi_o_2~0)=89.0, old(~pi_o_4~0)=109.0, old(~pi~0)=113.0, old(~tiny_atan2~0)=119.0, old(~zero_atan2~0)=99.0, ~#aT_atan~0.base=101, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=103, ~#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=101, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=103, ~#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~ret55 := main(); VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=101, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=103, ~#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] [L253] ~x~0 := #t~nondet48; [L253] havoc #t~nondet48; [L254] ~y~0 := #t~nondet49; [L254] havoc #t~nondet49; VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=101, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=103, ~#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=110.0, ~y~0=116.0, ~zero_atan2~0=0.0] [L256] CALL call #t~ret50 := isnan_double(~x~0); VAL [#in~x=110.0, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=101, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=103, ~#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] [L245] ~x := #in~x; [L245] #res := (if ~someBinaryDOUBLEComparisonOperation(~x, ~x) then 1 else 0); VAL [#in~x=110.0, #NULL.base=0, #NULL.offset=0, #res=1, ~#aT_atan~0.base=101, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=103, ~#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=110.0, ~zero_atan2~0=0.0] [L245] ensures true; VAL [#in~x=110.0, #NULL.base=0, #NULL.offset=0, #res=1, ~#aT_atan~0.base=101, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=103, ~#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=110.0, ~zero_atan2~0=0.0] [L256] RET call #t~ret50 := isnan_double(~x~0); VAL [#NULL.base=0, #NULL.offset=0, #t~ret50=1, ~#aT_atan~0.base=101, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=103, ~#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=110.0, ~y~0=116.0, ~zero_atan2~0=0.0] [L256] assume -2147483648 <= #t~ret50 && #t~ret50 <= 2147483647; [L256] #t~short52 := 0 != #t~ret50; VAL [#NULL.base=0, #NULL.offset=0, #t~ret50=1, #t~short52=true, ~#aT_atan~0.base=101, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=103, ~#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=110.0, ~y~0=116.0, ~zero_atan2~0=0.0] [L256] assume #t~short52; VAL [#NULL.base=0, #NULL.offset=0, #t~ret50=1, #t~short52=true, ~#aT_atan~0.base=101, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=103, ~#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=110.0, ~y~0=116.0, ~zero_atan2~0=0.0] [L256-L265] assume #t~short52; [L256] havoc #t~short52; [L256] havoc #t~ret51; [L256] havoc #t~ret50; VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=101, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=103, ~#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=110.0, ~y~0=116.0, ~zero_atan2~0=0.0] [L258] CALL call #t~ret53 := __ieee754_atan2(~y~0, ~x~0); VAL [#in~x=110.0, #in~y=116.0, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=101, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=103, ~#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=110.0, #in~y=116.0, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=101, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=103, ~#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=110.0, ~y=116.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=110.0, #in~y=116.0, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=101, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=103, ~#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=117, ~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=110.0, ~y=116.0, ~zero_atan2~0=0.0] [L153] ~ix~1 := ~bitwiseAnd(~hx~1, 2147483647); VAL [#in~x=110.0, #in~y=116.0, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=101, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=103, ~#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=117, ~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=110.0, ~y=116.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~union32; [L157] havoc #t~mem31; [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~mem33; [L158] havoc #t~union34; [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=110.0, #in~y=116.0, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=101, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=103, ~#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=117, ~ly~0=97, ~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=110.0, ~y=116.0, ~zero_atan2~0=0.0] [L160] ~iy~0 := ~bitwiseAnd(~hy~0, 2147483647); VAL [#in~x=110.0, #in~y=116.0, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=101, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=103, ~#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=117, ~ly~0=97, ~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=110.0, ~y=116.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=110.0, #in~y=116.0, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=101, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=103, ~#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=117, ~ly~0=97, ~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=110.0, ~y=116.0, ~zero_atan2~0=0.0] [L142-L242] ensures true; VAL [#in~x=110.0, #in~y=116.0, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=101, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=103, ~#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=117, ~ly~0=97, ~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=110.0, ~y=116.0, ~zero_atan2~0=0.0] [L258] RET call #t~ret53 := __ieee754_atan2(~y~0, ~x~0); VAL [#NULL.base=0, #NULL.offset=0, #t~ret53=98.0, ~#aT_atan~0.base=101, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=103, ~#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=110.0, ~y~0=116.0, ~zero_atan2~0=0.0] [L258] ~res~0 := #t~ret53; [L258] havoc #t~ret53; VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=101, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=103, ~#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=98.0, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=110.0, ~y~0=116.0, ~zero_atan2~0=0.0] [L261] CALL call #t~ret54 := isnan_double(~res~0); VAL [#in~x=98.0, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=101, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=103, ~#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] [L245] ~x := #in~x; [L245] #res := (if ~someBinaryDOUBLEComparisonOperation(~x, ~x) then 1 else 0); VAL [#in~x=98.0, #NULL.base=0, #NULL.offset=0, #res=0, ~#aT_atan~0.base=101, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=103, ~#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=98.0, ~zero_atan2~0=0.0] [L245] ensures true; VAL [#in~x=98.0, #NULL.base=0, #NULL.offset=0, #res=0, ~#aT_atan~0.base=101, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=103, ~#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=98.0, ~zero_atan2~0=0.0] [L261] RET call #t~ret54 := isnan_double(~res~0); VAL [#NULL.base=0, #NULL.offset=0, #t~ret54=0, ~#aT_atan~0.base=101, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=103, ~#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=98.0, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=110.0, ~y~0=116.0, ~zero_atan2~0=0.0] [L261] assume -2147483648 <= #t~ret54 && #t~ret54 <= 2147483647; VAL [#NULL.base=0, #NULL.offset=0, #t~ret54=0, ~#aT_atan~0.base=101, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=103, ~#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=98.0, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=110.0, ~y~0=116.0, ~zero_atan2~0=0.0] [L261-L264] assume 0 == #t~ret54; [L261] havoc #t~ret54; VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=101, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=103, ~#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=98.0, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=110.0, ~y~0=116.0, ~zero_atan2~0=0.0] [L262] assert false; VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=101, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=103, ~#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=98.0, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=110.0, ~y~0=116.0, ~zero_atan2~0=0.0] [?] CALL call ULTIMATE.init(); VAL [#NULL!base=114, #NULL!offset=108, old(#NULL!base)=114, old(#NULL!offset)=108, old(~#aT_atan~0!base)=100, old(~#aT_atan~0!offset)=106, old(~#atanhi_atan~0!base)=102, old(~#atanhi_atan~0!offset)=111, old(~#atanlo_atan~0!base)=96, old(~#atanlo_atan~0!offset)=120, old(~huge_atan~0)=115.0, old(~one_atan~0)=107.0, old(~pi_lo_atan2~0)=105.0, old(~pi_o_2~0)=89.0, old(~pi_o_4~0)=109.0, old(~pi~0)=113.0, old(~tiny_atan2~0)=119.0, old(~zero_atan2~0)=99.0, ~#aT_atan~0!base=100, ~#aT_atan~0!offset=106, ~#atanhi_atan~0!base=102, ~#atanhi_atan~0!offset=111, ~#atanlo_atan~0!base=96, ~#atanlo_atan~0!offset=120, ~huge_atan~0=115.0, ~one_atan~0=107.0, ~pi_lo_atan2~0=105.0, ~pi_o_2~0=89.0, ~pi_o_4~0=109.0, ~pi~0=113.0, ~tiny_atan2~0=119.0, ~zero_atan2~0=99.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)=114, old(#NULL!offset)=108, old(~#aT_atan~0!base)=100, old(~#aT_atan~0!offset)=106, old(~#atanhi_atan~0!base)=102, old(~#atanhi_atan~0!offset)=111, old(~#atanlo_atan~0!base)=96, old(~#atanlo_atan~0!offset)=120, old(~huge_atan~0)=115.0, old(~one_atan~0)=107.0, old(~pi_lo_atan2~0)=105.0, old(~pi_o_2~0)=89.0, old(~pi_o_4~0)=109.0, old(~pi~0)=113.0, old(~tiny_atan2~0)=119.0, old(~zero_atan2~0)=99.0, ~#aT_atan~0!base=101, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=103, ~#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=101, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=103, ~#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~ret55 := main(); VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=101, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=103, ~#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] [L253] ~x~0 := #t~nondet48; [L253] havoc #t~nondet48; [L254] ~y~0 := #t~nondet49; [L254] havoc #t~nondet49; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=101, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=103, ~#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=110.0, ~y~0=116.0, ~zero_atan2~0=0.0] [L256] CALL call #t~ret50 := isnan_double(~x~0); VAL [#in~x=110.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=101, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=103, ~#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] [L245] ~x := #in~x; [L245] #res := (if ~someBinaryDOUBLEComparisonOperation(~x, ~x) then 1 else 0); VAL [#in~x=110.0, #NULL!base=0, #NULL!offset=0, #res=1, ~#aT_atan~0!base=101, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=103, ~#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=110.0, ~zero_atan2~0=0.0] [L256] RET call #t~ret50 := isnan_double(~x~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret50=1, ~#aT_atan~0!base=101, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=103, ~#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=110.0, ~y~0=116.0, ~zero_atan2~0=0.0] [L256] assume -2147483648 <= #t~ret50 && #t~ret50 <= 2147483647; [L256] #t~short52 := 0 != #t~ret50; VAL [#NULL!base=0, #NULL!offset=0, #t~ret50=1, #t~short52=true, ~#aT_atan~0!base=101, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=103, ~#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=110.0, ~y~0=116.0, ~zero_atan2~0=0.0] [L256] COND TRUE #t~short52 VAL [#NULL!base=0, #NULL!offset=0, #t~ret50=1, #t~short52=true, ~#aT_atan~0!base=101, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=103, ~#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=110.0, ~y~0=116.0, ~zero_atan2~0=0.0] [L256] COND TRUE #t~short52 [L256] havoc #t~short52; [L256] havoc #t~ret51; [L256] havoc #t~ret50; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=101, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=103, ~#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=110.0, ~y~0=116.0, ~zero_atan2~0=0.0] [L258] CALL call #t~ret53 := __ieee754_atan2(~y~0, ~x~0); VAL [#in~x=110.0, #in~y=116.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=101, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=103, ~#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=110.0, #in~y=116.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=101, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=103, ~#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=110.0, ~y=116.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=110.0, #in~y=116.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=101, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=103, ~#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=117, ~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=110.0, ~y=116.0, ~zero_atan2~0=0.0] [L153] ~ix~1 := ~bitwiseAnd(~hx~1, 2147483647); VAL [#in~x=110.0, #in~y=116.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=101, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=103, ~#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=117, ~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=110.0, ~y=116.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~union32; [L157] havoc #t~mem31; [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~mem33; [L158] havoc #t~union34; [L155] FCALL call ULTIMATE.dealloc(~#ew_u~1); [L155] havoc ~#ew_u~1; VAL [#in~x=110.0, #in~y=116.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=101, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=103, ~#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=117, ~ly~0=97, ~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=110.0, ~y=116.0, ~zero_atan2~0=0.0] [L160] ~iy~0 := ~bitwiseAnd(~hy~0, 2147483647); VAL [#in~x=110.0, #in~y=116.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=101, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=103, ~#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=117, ~ly~0=97, ~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=110.0, ~y=116.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=110.0, #in~y=116.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=101, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=103, ~#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=117, ~ly~0=97, ~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=110.0, ~y=116.0, ~zero_atan2~0=0.0] [L258] RET call #t~ret53 := __ieee754_atan2(~y~0, ~x~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret53=98.0, ~#aT_atan~0!base=101, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=103, ~#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=110.0, ~y~0=116.0, ~zero_atan2~0=0.0] [L258] ~res~0 := #t~ret53; [L258] havoc #t~ret53; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=101, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=103, ~#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=98.0, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=110.0, ~y~0=116.0, ~zero_atan2~0=0.0] [L261] CALL call #t~ret54 := isnan_double(~res~0); VAL [#in~x=98.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=101, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=103, ~#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] [L245] ~x := #in~x; [L245] #res := (if ~someBinaryDOUBLEComparisonOperation(~x, ~x) then 1 else 0); VAL [#in~x=98.0, #NULL!base=0, #NULL!offset=0, #res=0, ~#aT_atan~0!base=101, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=103, ~#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=98.0, ~zero_atan2~0=0.0] [L261] RET call #t~ret54 := isnan_double(~res~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret54=0, ~#aT_atan~0!base=101, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=103, ~#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=98.0, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=110.0, ~y~0=116.0, ~zero_atan2~0=0.0] [L261] assume -2147483648 <= #t~ret54 && #t~ret54 <= 2147483647; VAL [#NULL!base=0, #NULL!offset=0, #t~ret54=0, ~#aT_atan~0!base=101, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=103, ~#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=98.0, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=110.0, ~y~0=116.0, ~zero_atan2~0=0.0] [L261] COND TRUE 0 == #t~ret54 [L261] havoc #t~ret54; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=101, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=103, ~#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=98.0, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=110.0, ~y~0=116.0, ~zero_atan2~0=0.0] [L262] assert false; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=101, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=103, ~#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=98.0, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=110.0, ~y~0=116.0, ~zero_atan2~0=0.0] ----- ----- class de.uni_freiburg.informatik.ultimate.boogie.procedureinliner.backtranslation.InlinerBacktranslator [?] CALL call ULTIMATE.init(); VAL [#NULL!base=114, #NULL!offset=108, old(#NULL!base)=114, old(#NULL!offset)=108, old(~#aT_atan~0!base)=100, old(~#aT_atan~0!offset)=106, old(~#atanhi_atan~0!base)=102, old(~#atanhi_atan~0!offset)=111, old(~#atanlo_atan~0!base)=96, old(~#atanlo_atan~0!offset)=120, old(~huge_atan~0)=115.0, old(~one_atan~0)=107.0, old(~pi_lo_atan2~0)=105.0, old(~pi_o_2~0)=89.0, old(~pi_o_4~0)=109.0, old(~pi~0)=113.0, old(~tiny_atan2~0)=119.0, old(~zero_atan2~0)=99.0, ~#aT_atan~0!base=100, ~#aT_atan~0!offset=106, ~#atanhi_atan~0!base=102, ~#atanhi_atan~0!offset=111, ~#atanlo_atan~0!base=96, ~#atanlo_atan~0!offset=120, ~huge_atan~0=115.0, ~one_atan~0=107.0, ~pi_lo_atan2~0=105.0, ~pi_o_2~0=89.0, ~pi_o_4~0=109.0, ~pi~0=113.0, ~tiny_atan2~0=119.0, ~zero_atan2~0=99.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)=114, old(#NULL!offset)=108, old(~#aT_atan~0!base)=100, old(~#aT_atan~0!offset)=106, old(~#atanhi_atan~0!base)=102, old(~#atanhi_atan~0!offset)=111, old(~#atanlo_atan~0!base)=96, old(~#atanlo_atan~0!offset)=120, old(~huge_atan~0)=115.0, old(~one_atan~0)=107.0, old(~pi_lo_atan2~0)=105.0, old(~pi_o_2~0)=89.0, old(~pi_o_4~0)=109.0, old(~pi~0)=113.0, old(~tiny_atan2~0)=119.0, old(~zero_atan2~0)=99.0, ~#aT_atan~0!base=101, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=103, ~#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=101, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=103, ~#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~ret55 := main(); VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=101, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=103, ~#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] [L253] ~x~0 := #t~nondet48; [L253] havoc #t~nondet48; [L254] ~y~0 := #t~nondet49; [L254] havoc #t~nondet49; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=101, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=103, ~#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=110.0, ~y~0=116.0, ~zero_atan2~0=0.0] [L256] CALL call #t~ret50 := isnan_double(~x~0); VAL [#in~x=110.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=101, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=103, ~#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] [L245] ~x := #in~x; [L245] #res := (if ~someBinaryDOUBLEComparisonOperation(~x, ~x) then 1 else 0); VAL [#in~x=110.0, #NULL!base=0, #NULL!offset=0, #res=1, ~#aT_atan~0!base=101, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=103, ~#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=110.0, ~zero_atan2~0=0.0] [L256] RET call #t~ret50 := isnan_double(~x~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret50=1, ~#aT_atan~0!base=101, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=103, ~#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=110.0, ~y~0=116.0, ~zero_atan2~0=0.0] [L256] assume -2147483648 <= #t~ret50 && #t~ret50 <= 2147483647; [L256] #t~short52 := 0 != #t~ret50; VAL [#NULL!base=0, #NULL!offset=0, #t~ret50=1, #t~short52=true, ~#aT_atan~0!base=101, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=103, ~#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=110.0, ~y~0=116.0, ~zero_atan2~0=0.0] [L256] COND TRUE #t~short52 VAL [#NULL!base=0, #NULL!offset=0, #t~ret50=1, #t~short52=true, ~#aT_atan~0!base=101, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=103, ~#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=110.0, ~y~0=116.0, ~zero_atan2~0=0.0] [L256] COND TRUE #t~short52 [L256] havoc #t~short52; [L256] havoc #t~ret51; [L256] havoc #t~ret50; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=101, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=103, ~#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=110.0, ~y~0=116.0, ~zero_atan2~0=0.0] [L258] CALL call #t~ret53 := __ieee754_atan2(~y~0, ~x~0); VAL [#in~x=110.0, #in~y=116.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=101, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=103, ~#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=110.0, #in~y=116.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=101, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=103, ~#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=110.0, ~y=116.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=110.0, #in~y=116.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=101, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=103, ~#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=117, ~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=110.0, ~y=116.0, ~zero_atan2~0=0.0] [L153] ~ix~1 := ~bitwiseAnd(~hx~1, 2147483647); VAL [#in~x=110.0, #in~y=116.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=101, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=103, ~#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=117, ~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=110.0, ~y=116.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~union32; [L157] havoc #t~mem31; [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~mem33; [L158] havoc #t~union34; [L155] FCALL call ULTIMATE.dealloc(~#ew_u~1); [L155] havoc ~#ew_u~1; VAL [#in~x=110.0, #in~y=116.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=101, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=103, ~#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=117, ~ly~0=97, ~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=110.0, ~y=116.0, ~zero_atan2~0=0.0] [L160] ~iy~0 := ~bitwiseAnd(~hy~0, 2147483647); VAL [#in~x=110.0, #in~y=116.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=101, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=103, ~#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=117, ~ly~0=97, ~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=110.0, ~y=116.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=110.0, #in~y=116.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=101, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=103, ~#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=117, ~ly~0=97, ~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=110.0, ~y=116.0, ~zero_atan2~0=0.0] [L258] RET call #t~ret53 := __ieee754_atan2(~y~0, ~x~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret53=98.0, ~#aT_atan~0!base=101, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=103, ~#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=110.0, ~y~0=116.0, ~zero_atan2~0=0.0] [L258] ~res~0 := #t~ret53; [L258] havoc #t~ret53; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=101, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=103, ~#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=98.0, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=110.0, ~y~0=116.0, ~zero_atan2~0=0.0] [L261] CALL call #t~ret54 := isnan_double(~res~0); VAL [#in~x=98.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=101, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=103, ~#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] [L245] ~x := #in~x; [L245] #res := (if ~someBinaryDOUBLEComparisonOperation(~x, ~x) then 1 else 0); VAL [#in~x=98.0, #NULL!base=0, #NULL!offset=0, #res=0, ~#aT_atan~0!base=101, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=103, ~#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=98.0, ~zero_atan2~0=0.0] [L261] RET call #t~ret54 := isnan_double(~res~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret54=0, ~#aT_atan~0!base=101, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=103, ~#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=98.0, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=110.0, ~y~0=116.0, ~zero_atan2~0=0.0] [L261] assume -2147483648 <= #t~ret54 && #t~ret54 <= 2147483647; VAL [#NULL!base=0, #NULL!offset=0, #t~ret54=0, ~#aT_atan~0!base=101, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=103, ~#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=98.0, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=110.0, ~y~0=116.0, ~zero_atan2~0=0.0] [L261] COND TRUE 0 == #t~ret54 [L261] havoc #t~ret54; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=101, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=103, ~#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=98.0, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=110.0, ~y~0=116.0, ~zero_atan2~0=0.0] [L262] assert false; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=101, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=103, ~#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=98.0, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=110.0, ~y~0=116.0, ~zero_atan2~0=0.0] [?] CALL call ULTIMATE.init(); VAL [#NULL!base=114, #NULL!offset=108, old(#NULL!base)=114, old(#NULL!offset)=108, old(~#aT_atan~0!base)=100, old(~#aT_atan~0!offset)=106, old(~#atanhi_atan~0!base)=102, old(~#atanhi_atan~0!offset)=111, old(~#atanlo_atan~0!base)=96, old(~#atanlo_atan~0!offset)=120, old(~huge_atan~0)=115.0, old(~one_atan~0)=107.0, old(~pi_lo_atan2~0)=105.0, old(~pi_o_2~0)=89.0, old(~pi_o_4~0)=109.0, old(~pi~0)=113.0, old(~tiny_atan2~0)=119.0, old(~zero_atan2~0)=99.0, ~#aT_atan~0!base=100, ~#aT_atan~0!offset=106, ~#atanhi_atan~0!base=102, ~#atanhi_atan~0!offset=111, ~#atanlo_atan~0!base=96, ~#atanlo_atan~0!offset=120, ~huge_atan~0=115.0, ~one_atan~0=107.0, ~pi_lo_atan2~0=105.0, ~pi_o_2~0=89.0, ~pi_o_4~0=109.0, ~pi~0=113.0, ~tiny_atan2~0=119.0, ~zero_atan2~0=99.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)=114, old(#NULL!offset)=108, old(~#aT_atan~0!base)=100, old(~#aT_atan~0!offset)=106, old(~#atanhi_atan~0!base)=102, old(~#atanhi_atan~0!offset)=111, old(~#atanlo_atan~0!base)=96, old(~#atanlo_atan~0!offset)=120, old(~huge_atan~0)=115.0, old(~one_atan~0)=107.0, old(~pi_lo_atan2~0)=105.0, old(~pi_o_2~0)=89.0, old(~pi_o_4~0)=109.0, old(~pi~0)=113.0, old(~tiny_atan2~0)=119.0, old(~zero_atan2~0)=99.0, ~#aT_atan~0!base=101, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=103, ~#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=101, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=103, ~#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~ret55 := main(); VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=101, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=103, ~#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] [L253] ~x~0 := #t~nondet48; [L253] havoc #t~nondet48; [L254] ~y~0 := #t~nondet49; [L254] havoc #t~nondet49; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=101, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=103, ~#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=110.0, ~y~0=116.0, ~zero_atan2~0=0.0] [L256] CALL call #t~ret50 := isnan_double(~x~0); VAL [#in~x=110.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=101, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=103, ~#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] [L245] ~x := #in~x; [L245] #res := (if ~someBinaryDOUBLEComparisonOperation(~x, ~x) then 1 else 0); VAL [#in~x=110.0, #NULL!base=0, #NULL!offset=0, #res=1, ~#aT_atan~0!base=101, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=103, ~#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=110.0, ~zero_atan2~0=0.0] [L256] RET call #t~ret50 := isnan_double(~x~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret50=1, ~#aT_atan~0!base=101, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=103, ~#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=110.0, ~y~0=116.0, ~zero_atan2~0=0.0] [L256] assume -2147483648 <= #t~ret50 && #t~ret50 <= 2147483647; [L256] #t~short52 := 0 != #t~ret50; VAL [#NULL!base=0, #NULL!offset=0, #t~ret50=1, #t~short52=true, ~#aT_atan~0!base=101, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=103, ~#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=110.0, ~y~0=116.0, ~zero_atan2~0=0.0] [L256] COND TRUE #t~short52 VAL [#NULL!base=0, #NULL!offset=0, #t~ret50=1, #t~short52=true, ~#aT_atan~0!base=101, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=103, ~#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=110.0, ~y~0=116.0, ~zero_atan2~0=0.0] [L256] COND TRUE #t~short52 [L256] havoc #t~short52; [L256] havoc #t~ret51; [L256] havoc #t~ret50; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=101, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=103, ~#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=110.0, ~y~0=116.0, ~zero_atan2~0=0.0] [L258] CALL call #t~ret53 := __ieee754_atan2(~y~0, ~x~0); VAL [#in~x=110.0, #in~y=116.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=101, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=103, ~#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=110.0, #in~y=116.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=101, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=103, ~#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=110.0, ~y=116.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=110.0, #in~y=116.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=101, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=103, ~#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=117, ~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=110.0, ~y=116.0, ~zero_atan2~0=0.0] [L153] ~ix~1 := ~bitwiseAnd(~hx~1, 2147483647); VAL [#in~x=110.0, #in~y=116.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=101, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=103, ~#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=117, ~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=110.0, ~y=116.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~union32; [L157] havoc #t~mem31; [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~mem33; [L158] havoc #t~union34; [L155] FCALL call ULTIMATE.dealloc(~#ew_u~1); [L155] havoc ~#ew_u~1; VAL [#in~x=110.0, #in~y=116.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=101, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=103, ~#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=117, ~ly~0=97, ~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=110.0, ~y=116.0, ~zero_atan2~0=0.0] [L160] ~iy~0 := ~bitwiseAnd(~hy~0, 2147483647); VAL [#in~x=110.0, #in~y=116.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=101, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=103, ~#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=117, ~ly~0=97, ~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=110.0, ~y=116.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=110.0, #in~y=116.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=101, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=103, ~#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=117, ~ly~0=97, ~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=110.0, ~y=116.0, ~zero_atan2~0=0.0] [L258] RET call #t~ret53 := __ieee754_atan2(~y~0, ~x~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret53=98.0, ~#aT_atan~0!base=101, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=103, ~#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=110.0, ~y~0=116.0, ~zero_atan2~0=0.0] [L258] ~res~0 := #t~ret53; [L258] havoc #t~ret53; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=101, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=103, ~#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=98.0, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=110.0, ~y~0=116.0, ~zero_atan2~0=0.0] [L261] CALL call #t~ret54 := isnan_double(~res~0); VAL [#in~x=98.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=101, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=103, ~#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] [L245] ~x := #in~x; [L245] #res := (if ~someBinaryDOUBLEComparisonOperation(~x, ~x) then 1 else 0); VAL [#in~x=98.0, #NULL!base=0, #NULL!offset=0, #res=0, ~#aT_atan~0!base=101, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=103, ~#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=98.0, ~zero_atan2~0=0.0] [L261] RET call #t~ret54 := isnan_double(~res~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret54=0, ~#aT_atan~0!base=101, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=103, ~#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=98.0, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=110.0, ~y~0=116.0, ~zero_atan2~0=0.0] [L261] assume -2147483648 <= #t~ret54 && #t~ret54 <= 2147483647; VAL [#NULL!base=0, #NULL!offset=0, #t~ret54=0, ~#aT_atan~0!base=101, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=103, ~#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=98.0, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=110.0, ~y~0=116.0, ~zero_atan2~0=0.0] [L261] COND TRUE 0 == #t~ret54 [L261] havoc #t~ret54; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=101, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=103, ~#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=98.0, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=110.0, ~y~0=116.0, ~zero_atan2~0=0.0] [L262] assert false; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=101, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=103, ~#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=98.0, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=110.0, ~y~0=116.0, ~zero_atan2~0=0.0] ----- [2018-11-22 21:57:52,713 WARN L1272 BoogieBacktranslator]: Unfinished Backtranslation: IntegerLiteral 120 could not be translated for associated CType ARRAY#_4_~DOUBLE# [2018-11-22 21:57:52,714 WARN L1272 BoogieBacktranslator]: Unfinished Backtranslation: IntegerLiteral 102 could not be translated for associated CType ARRAY#_4_~DOUBLE# [2018-11-22 21:57:52,714 WARN L1272 BoogieBacktranslator]: Unfinished Backtranslation: IntegerLiteral 106 could not be translated for associated CType ARRAY#_11_~DOUBLE# [2018-11-22 21:57:52,714 WARN L1272 BoogieBacktranslator]: Unfinished Backtranslation: IntegerLiteral 96 could not be translated for associated CType ARRAY#_4_~DOUBLE# [2018-11-22 21:57:52,714 WARN L1272 BoogieBacktranslator]: Unfinished Backtranslation: IntegerLiteral 100 could not be translated for associated CType ARRAY#_11_~DOUBLE# [2018-11-22 21:57:52,714 WARN L1272 BoogieBacktranslator]: Unfinished Backtranslation: IntegerLiteral 111 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=114, #NULL!offset=108, old(#NULL!base)=114, old(#NULL!offset)=108, old(~#aT_atan~0!base)=100, old(~#aT_atan~0!offset)=106, old(~#atanhi_atan~0!base)=102, old(~#atanhi_atan~0!offset)=111, old(~#atanlo_atan~0!base)=96, old(~#atanlo_atan~0!offset)=120, old(~huge_atan~0)=115.0, old(~one_atan~0)=107.0, old(~pi_lo_atan2~0)=105.0, old(~pi_o_2~0)=89.0, old(~pi_o_4~0)=109.0, old(~pi~0)=113.0, old(~tiny_atan2~0)=119.0, old(~zero_atan2~0)=99.0, ~#aT_atan~0!base=100, ~#aT_atan~0!offset=106, ~#atanhi_atan~0!base=102, ~#atanhi_atan~0!offset=111, ~#atanlo_atan~0!base=96, ~#atanlo_atan~0!offset=120, ~huge_atan~0=115.0, ~one_atan~0=107.0, ~pi_lo_atan2~0=105.0, ~pi_o_2~0=89.0, ~pi_o_4~0=109.0, ~pi~0=113.0, ~tiny_atan2~0=119.0, ~zero_atan2~0=99.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)=114, old(#NULL!offset)=108, old(~#aT_atan~0!base)=100, old(~#aT_atan~0!offset)=106, old(~#atanhi_atan~0!base)=102, old(~#atanhi_atan~0!offset)=111, old(~#atanlo_atan~0!base)=96, old(~#atanlo_atan~0!offset)=120, old(~huge_atan~0)=115.0, old(~one_atan~0)=107.0, old(~pi_lo_atan2~0)=105.0, old(~pi_o_2~0)=89.0, old(~pi_o_4~0)=109.0, old(~pi~0)=113.0, old(~tiny_atan2~0)=119.0, old(~zero_atan2~0)=99.0, ~#aT_atan~0!base=101, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=103, ~#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=101, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=103, ~#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~ret55 := main(); VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=101, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=103, ~#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] [L253] ~x~0 := #t~nondet48; [L253] havoc #t~nondet48; [L254] ~y~0 := #t~nondet49; [L254] havoc #t~nondet49; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=101, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=103, ~#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=110.0, ~y~0=116.0, ~zero_atan2~0=0.0] [L256] CALL call #t~ret50 := isnan_double(~x~0); VAL [#in~x=110.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=101, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=103, ~#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] [L245] ~x := #in~x; [L245] #res := (if ~someBinaryDOUBLEComparisonOperation(~x, ~x) then 1 else 0); VAL [#in~x=110.0, #NULL!base=0, #NULL!offset=0, #res=1, ~#aT_atan~0!base=101, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=103, ~#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=110.0, ~zero_atan2~0=0.0] [L256] RET call #t~ret50 := isnan_double(~x~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret50=1, ~#aT_atan~0!base=101, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=103, ~#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=110.0, ~y~0=116.0, ~zero_atan2~0=0.0] [L256] assume -2147483648 <= #t~ret50 && #t~ret50 <= 2147483647; [L256] #t~short52 := 0 != #t~ret50; VAL [#NULL!base=0, #NULL!offset=0, #t~ret50=1, #t~short52=true, ~#aT_atan~0!base=101, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=103, ~#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=110.0, ~y~0=116.0, ~zero_atan2~0=0.0] [L256] COND TRUE #t~short52 VAL [#NULL!base=0, #NULL!offset=0, #t~ret50=1, #t~short52=true, ~#aT_atan~0!base=101, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=103, ~#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=110.0, ~y~0=116.0, ~zero_atan2~0=0.0] [L256] COND TRUE #t~short52 [L256] havoc #t~short52; [L256] havoc #t~ret51; [L256] havoc #t~ret50; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=101, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=103, ~#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=110.0, ~y~0=116.0, ~zero_atan2~0=0.0] [L258] CALL call #t~ret53 := __ieee754_atan2(~y~0, ~x~0); VAL [#in~x=110.0, #in~y=116.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=101, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=103, ~#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=110.0, #in~y=116.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=101, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=103, ~#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=110.0, ~y=116.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=110.0, #in~y=116.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=101, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=103, ~#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=117, ~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=110.0, ~y=116.0, ~zero_atan2~0=0.0] [L153] ~ix~1 := ~bitwiseAnd(~hx~1, 2147483647); VAL [#in~x=110.0, #in~y=116.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=101, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=103, ~#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=117, ~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=110.0, ~y=116.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~union32; [L157] havoc #t~mem31; [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~mem33; [L158] havoc #t~union34; [L155] FCALL call ULTIMATE.dealloc(~#ew_u~1); [L155] havoc ~#ew_u~1; VAL [#in~x=110.0, #in~y=116.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=101, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=103, ~#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=117, ~ly~0=97, ~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=110.0, ~y=116.0, ~zero_atan2~0=0.0] [L160] ~iy~0 := ~bitwiseAnd(~hy~0, 2147483647); VAL [#in~x=110.0, #in~y=116.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=101, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=103, ~#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=117, ~ly~0=97, ~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=110.0, ~y=116.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=110.0, #in~y=116.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=101, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=103, ~#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=117, ~ly~0=97, ~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=110.0, ~y=116.0, ~zero_atan2~0=0.0] [L258] RET call #t~ret53 := __ieee754_atan2(~y~0, ~x~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret53=98.0, ~#aT_atan~0!base=101, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=103, ~#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=110.0, ~y~0=116.0, ~zero_atan2~0=0.0] [L258] ~res~0 := #t~ret53; [L258] havoc #t~ret53; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=101, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=103, ~#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=98.0, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=110.0, ~y~0=116.0, ~zero_atan2~0=0.0] [L261] CALL call #t~ret54 := isnan_double(~res~0); VAL [#in~x=98.0, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=101, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=103, ~#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] [L245] ~x := #in~x; [L245] #res := (if ~someBinaryDOUBLEComparisonOperation(~x, ~x) then 1 else 0); VAL [#in~x=98.0, #NULL!base=0, #NULL!offset=0, #res=0, ~#aT_atan~0!base=101, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=103, ~#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=98.0, ~zero_atan2~0=0.0] [L261] RET call #t~ret54 := isnan_double(~res~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret54=0, ~#aT_atan~0!base=101, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=103, ~#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=98.0, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=110.0, ~y~0=116.0, ~zero_atan2~0=0.0] [L261] assume -2147483648 <= #t~ret54 && #t~ret54 <= 2147483647; VAL [#NULL!base=0, #NULL!offset=0, #t~ret54=0, ~#aT_atan~0!base=101, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=103, ~#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=98.0, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=110.0, ~y~0=116.0, ~zero_atan2~0=0.0] [L261] COND TRUE 0 == #t~ret54 [L261] havoc #t~ret54; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=101, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=103, ~#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=98.0, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=110.0, ~y~0=116.0, ~zero_atan2~0=0.0] [L262] assert false; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=101, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=103, ~#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=98.0, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=110.0, ~y~0=116.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)=115, \old(one_atan)=107, \old(pi)=113, \old(pi_lo_atan2)=105, \old(pi_o_2)=89, \old(pi_o_4)=109, \old(tiny_atan2)=119, \old(zero_atan2)=99, aT_atan={101:0}, atanhi_atan={103: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] [L253] double x = __VERIFIER_nondet_double(); [L254] double y = __VERIFIER_nondet_double(); [L256] CALL, EXPR isnan_double(x) VAL [\old(x)=110, aT_atan={101:0}, atanhi_atan={103: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] [L245] return x != x; VAL [\old(x)=110, \result=1, aT_atan={101:0}, atanhi_atan={103: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=110, zero_atan2=0] [L256] RET, EXPR isnan_double(x) VAL [aT_atan={101:0}, atanhi_atan={103:0}, atanlo_atan={90:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, isnan_double(x)=1, 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=110, y=116, zero_atan2=0] [L256] isnan_double(x) || isnan_double(y) VAL [aT_atan={101:0}, atanhi_atan={103:0}, atanlo_atan={90:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, isnan_double(x)=1, isnan_double(x) || isnan_double(y)=1, 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=110, y=116, zero_atan2=0] [L256] COND TRUE isnan_double(x) || isnan_double(y) [L258] CALL, EXPR __ieee754_atan2(y, x) VAL [\old(x)=110, \old(y)=116, aT_atan={101:0}, atanhi_atan={103: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)=110, \old(y)=116, aT_atan={101:0}, atanhi_atan={103: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=110, y=116, 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)=110, \old(y)=116, aT_atan={101:0}, atanhi_atan={103:0}, atanlo_atan={90:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, hx=5, lx=117, 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=110, y=116, 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)=110, \old(y)=116, aT_atan={101:0}, atanhi_atan={103:0}, atanlo_atan={90:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, hx=5, hy=2, lx=117, ly=97, 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=110, y=116, zero_atan2=0] [L161-L162] COND TRUE ((ix | ((lx | -lx) >> 31)) > 0x7ff00000) || ((iy | ((ly | -ly) >> 31)) > 0x7ff00000) [L163] return x + y; VAL [\old(x)=110, \old(y)=116, aT_atan={101:0}, atanhi_atan={103:0}, atanlo_atan={90:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, hx=5, hy=2, lx=117, ly=97, 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=110, y=116, zero_atan2=0] [L258] RET, EXPR __ieee754_atan2(y, x) VAL [__ieee754_atan2(y, x)=98, aT_atan={101:0}, atanhi_atan={103: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=110, y=116, zero_atan2=0] [L258] double res = __ieee754_atan2(y, x); [L261] CALL, EXPR isnan_double(res) VAL [\old(x)=98, aT_atan={101:0}, atanhi_atan={103: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] [L245] return x != x; VAL [\old(x)=98, \result=0, aT_atan={101:0}, atanhi_atan={103: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=98, zero_atan2=0] [L261] RET, EXPR isnan_double(res) VAL [aT_atan={101:0}, atanhi_atan={103:0}, atanlo_atan={90:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, isnan_double(res)=0, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, res=98, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=110, y=116, zero_atan2=0] [L261] COND TRUE !isnan_double(res) [L262] __VERIFIER_error() VAL [aT_atan={101:0}, atanhi_atan={103: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=98, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=110, y=116, zero_atan2=0] ----- [2018-11-22 21:57:52,799 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 22.11 09:57:52 BoogieIcfgContainer [2018-11-22 21:57:52,799 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2018-11-22 21:57:52,799 INFO L113 PluginConnector]: ------------------------Witness Printer---------------------------- [2018-11-22 21:57:52,800 INFO L271 PluginConnector]: Initializing Witness Printer... [2018-11-22 21:57:52,800 INFO L276 PluginConnector]: Witness Printer initialized [2018-11-22 21:57:52,800 INFO L185 PluginConnector]: Executing the observer RCFGCatcher from plugin Witness Printer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 22.11 09:57:52" (3/4) ... [2018-11-22 21:57:52,803 INFO L147 WitnessPrinter]: No result that supports witness generation found [2018-11-22 21:57:52,803 INFO L132 PluginConnector]: ------------------------ END Witness Printer---------------------------- [2018-11-22 21:57:52,804 INFO L168 Benchmark]: Toolchain (without parser) took 1465.17 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 136.3 MB). Free memory was 961.9 MB in the beginning and 1.0 GB in the end (delta: -61.5 MB). Peak memory consumption was 74.8 MB. Max. memory is 11.5 GB. [2018-11-22 21:57:52,805 INFO L168 Benchmark]: CDTParser took 0.16 ms. Allocated memory is still 1.0 GB. Free memory is still 982.9 MB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-22 21:57:52,806 INFO L168 Benchmark]: CACSL2BoogieTranslator took 300.55 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 136.3 MB). Free memory was 961.9 MB in the beginning and 1.1 GB in the end (delta: -171.0 MB). Peak memory consumption was 37.6 MB. Max. memory is 11.5 GB. [2018-11-22 21:57:52,807 INFO L168 Benchmark]: Boogie Procedure Inliner took 18.60 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-22 21:57:52,807 INFO L168 Benchmark]: Boogie Preprocessor took 42.26 ms. Allocated memory is still 1.2 GB. Free memory is still 1.1 GB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-22 21:57:52,807 INFO L168 Benchmark]: RCFGBuilder took 463.32 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: 49.3 MB). Peak memory consumption was 49.3 MB. Max. memory is 11.5 GB. [2018-11-22 21:57:52,808 INFO L168 Benchmark]: TraceAbstraction took 633.44 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: 57.5 MB). Peak memory consumption was 57.5 MB. Max. memory is 11.5 GB. [2018-11-22 21:57:52,808 INFO L168 Benchmark]: Witness Printer took 4.07 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-22 21:57:52,810 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 982.9 MB. There was no memory consumed. Max. memory is 11.5 GB. * CACSL2BoogieTranslator took 300.55 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 136.3 MB). Free memory was 961.9 MB in the beginning and 1.1 GB in the end (delta: -171.0 MB). Peak memory consumption was 37.6 MB. Max. memory is 11.5 GB. * Boogie Procedure Inliner took 18.60 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. * Boogie Preprocessor took 42.26 ms. Allocated memory is still 1.2 GB. Free memory is still 1.1 GB. There was no memory consumed. Max. memory is 11.5 GB. * RCFGBuilder took 463.32 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: 49.3 MB). Peak memory consumption was 49.3 MB. Max. memory is 11.5 GB. * TraceAbstraction took 633.44 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: 57.5 MB). Peak memory consumption was 57.5 MB. Max. memory is 11.5 GB. * Witness Printer took 4.07 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 120 could not be translated for associated CType ARRAY#_4_~DOUBLE# - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: IntegerLiteral 102 could not be translated for associated CType ARRAY#_4_~DOUBLE# - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: IntegerLiteral 106 could not be translated for associated CType ARRAY#_11_~DOUBLE# - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: IntegerLiteral 96 could not be translated for associated CType ARRAY#_4_~DOUBLE# - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: IntegerLiteral 100 could not be translated for associated CType ARRAY#_11_~DOUBLE# - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: IntegerLiteral 111 could not be translated for associated CType ARRAY#_4_~DOUBLE# * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - UnprovableResult [Line: 262]: 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 245. 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)=115, \old(one_atan)=107, \old(pi)=113, \old(pi_lo_atan2)=105, \old(pi_o_2)=89, \old(pi_o_4)=109, \old(tiny_atan2)=119, \old(zero_atan2)=99, aT_atan={101:0}, atanhi_atan={103: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] [L253] double x = __VERIFIER_nondet_double(); [L254] double y = __VERIFIER_nondet_double(); [L256] CALL, EXPR isnan_double(x) VAL [\old(x)=110, aT_atan={101:0}, atanhi_atan={103: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] [L245] return x != x; VAL [\old(x)=110, \result=1, aT_atan={101:0}, atanhi_atan={103: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=110, zero_atan2=0] [L256] RET, EXPR isnan_double(x) VAL [aT_atan={101:0}, atanhi_atan={103:0}, atanlo_atan={90:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, isnan_double(x)=1, 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=110, y=116, zero_atan2=0] [L256] isnan_double(x) || isnan_double(y) VAL [aT_atan={101:0}, atanhi_atan={103:0}, atanlo_atan={90:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, isnan_double(x)=1, isnan_double(x) || isnan_double(y)=1, 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=110, y=116, zero_atan2=0] [L256] COND TRUE isnan_double(x) || isnan_double(y) [L258] CALL, EXPR __ieee754_atan2(y, x) VAL [\old(x)=110, \old(y)=116, aT_atan={101:0}, atanhi_atan={103: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)=110, \old(y)=116, aT_atan={101:0}, atanhi_atan={103: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=110, y=116, 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)=110, \old(y)=116, aT_atan={101:0}, atanhi_atan={103:0}, atanlo_atan={90:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, hx=5, lx=117, 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=110, y=116, 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)=110, \old(y)=116, aT_atan={101:0}, atanhi_atan={103:0}, atanlo_atan={90:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, hx=5, hy=2, lx=117, ly=97, 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=110, y=116, zero_atan2=0] [L161-L162] COND TRUE ((ix | ((lx | -lx) >> 31)) > 0x7ff00000) || ((iy | ((ly | -ly) >> 31)) > 0x7ff00000) [L163] return x + y; VAL [\old(x)=110, \old(y)=116, aT_atan={101:0}, atanhi_atan={103:0}, atanlo_atan={90:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, hx=5, hy=2, lx=117, ly=97, 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=110, y=116, zero_atan2=0] [L258] RET, EXPR __ieee754_atan2(y, x) VAL [__ieee754_atan2(y, x)=98, aT_atan={101:0}, atanhi_atan={103: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=110, y=116, zero_atan2=0] [L258] double res = __ieee754_atan2(y, x); [L261] CALL, EXPR isnan_double(res) VAL [\old(x)=98, aT_atan={101:0}, atanhi_atan={103: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] [L245] return x != x; VAL [\old(x)=98, \result=0, aT_atan={101:0}, atanhi_atan={103: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=98, zero_atan2=0] [L261] RET, EXPR isnan_double(res) VAL [aT_atan={101:0}, atanhi_atan={103:0}, atanlo_atan={90:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, isnan_double(res)=0, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, res=98, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=110, y=116, zero_atan2=0] [L261] COND TRUE !isnan_double(res) [L262] __VERIFIER_error() VAL [aT_atan={101:0}, atanhi_atan={103: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=98, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=110, y=116, zero_atan2=0] - StatisticsResult: Ultimate Automizer benchmark data CFG has 7 procedures, 113 locations, 1 error locations. UNSAFE Result, 0.5s OverallTime, 2 OverallIterations, 2 TraceHistogramMax, 0.0s AutomataDifference, 0.0s DeadEndRemovalTime, 0.0s HoareAnnotationTime, HoareTripleCheckerStatistics: 156 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=113occurred 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, 62 NumberOfCodeBlocks, 62 NumberOfCodeBlocksAsserted, 2 NumberOfCheckSat, 29 ConstructedInterpolants, 0 QuantifiedInterpolants, 841 SizeOfPredicates, 0 NumberOfNonLiveVariables, 0 ConjunctsInSsa, 0 ConjunctsInUnsatCore, 1 InterpolantComputations, 1 PerfectInterpolantSequences, 3/3 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-22 21:57:54,280 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-22 21:57:54,281 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-22 21:57:54,289 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-22 21:57:54,289 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-22 21:57:54,289 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-22 21:57:54,290 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-22 21:57:54,291 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-22 21:57:54,292 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-22 21:57:54,293 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-22 21:57:54,294 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-22 21:57:54,294 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-22 21:57:54,294 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-22 21:57:54,295 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-22 21:57:54,296 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-22 21:57:54,296 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-22 21:57:54,297 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-22 21:57:54,298 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-22 21:57:54,300 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-22 21:57:54,301 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-22 21:57:54,302 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-22 21:57:54,302 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-22 21:57:54,304 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-22 21:57:54,304 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-22 21:57:54,304 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-22 21:57:54,305 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-22 21:57:54,306 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-22 21:57:54,306 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-22 21:57:54,307 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-22 21:57:54,308 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-22 21:57:54,308 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-22 21:57:54,308 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-22 21:57:54,309 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-22 21:57:54,309 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-22 21:57:54,309 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-22 21:57:54,310 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-22 21:57:54,310 INFO L98 SettingsManager]: Beginning loading settings from /tmp/vcloud-vcloud-master/worker/working_dir_aa1c0402-f08d-440c-b496-b6e82e54b41d/bin-2019/utaipan/config/svcomp-Reach-32bit-Taipan_Bitvector.epf [2018-11-22 21:57:54,320 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-22 21:57:54,321 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-22 21:57:54,321 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-22 21:57:54,321 INFO L133 SettingsManager]: * ... calls to implemented procedures=ONLY_FOR_CONCURRENT_PROGRAMS [2018-11-22 21:57:54,322 INFO L133 SettingsManager]: * User list type=DISABLED [2018-11-22 21:57:54,322 INFO L131 SettingsManager]: Preferences of Abstract Interpretation differ from their defaults: [2018-11-22 21:57:54,322 INFO L133 SettingsManager]: * Explicit value domain=true [2018-11-22 21:57:54,322 INFO L133 SettingsManager]: * Octagon Domain=false [2018-11-22 21:57:54,322 INFO L133 SettingsManager]: * Abstract domain=CompoundDomain [2018-11-22 21:57:54,322 INFO L133 SettingsManager]: * Interval Domain=false [2018-11-22 21:57:54,323 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-22 21:57:54,323 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-22 21:57:54,323 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-22 21:57:54,323 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-22 21:57:54,323 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-22 21:57:54,324 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-22 21:57:54,324 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-22 21:57:54,324 INFO L133 SettingsManager]: * Use bitvectors instead of ints=true [2018-11-22 21:57:54,324 INFO L133 SettingsManager]: * Memory model=HoenickeLindenmann_4ByteResolution [2018-11-22 21:57:54,324 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-22 21:57:54,324 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-22 21:57:54,324 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-22 21:57:54,325 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-22 21:57:54,325 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-22 21:57:54,325 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-11-22 21:57:54,325 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-22 21:57:54,325 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-11-22 21:57:54,325 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-22 21:57:54,325 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-22 21:57:54,326 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-22 21:57:54,326 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-22 21:57:54,326 INFO L133 SettingsManager]: * Trace refinement strategy=WALRUS [2018-11-22 21:57:54,326 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-22 21:57:54,326 INFO L133 SettingsManager]: * Command for external solver=cvc4nyu --tear-down-incremental --rewrite-divk --print-success --lang smt [2018-11-22 21:57:54,326 INFO L133 SettingsManager]: * Logic for external solver=AUFBV [2018-11-22 21:57:54,326 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_aa1c0402-f08d-440c-b496-b6e82e54b41d/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 -> 7437f00c34877da3eeb70986d6a7f4bae4c9669a [2018-11-22 21:57:54,354 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-22 21:57:54,363 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-22 21:57:54,365 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-22 21:57:54,366 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-22 21:57:54,366 INFO L276 PluginConnector]: CDTParser initialized [2018-11-22 21:57:54,366 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /tmp/vcloud-vcloud-master/worker/working_dir_aa1c0402-f08d-440c-b496-b6e82e54b41d/bin-2019/utaipan/../../sv-benchmarks/c/float-newlib/double_req_bl_0670_true-unreach-call.c [2018-11-22 21:57:54,401 INFO L221 CDTParser]: Created temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_aa1c0402-f08d-440c-b496-b6e82e54b41d/bin-2019/utaipan/data/d8704463e/e60bbda15a0a4630a74e21559d350e99/FLAG60471226e [2018-11-22 21:57:54,808 INFO L307 CDTParser]: Found 1 translation units. [2018-11-22 21:57:54,808 INFO L161 CDTParser]: Scanning /tmp/vcloud-vcloud-master/worker/working_dir_aa1c0402-f08d-440c-b496-b6e82e54b41d/sv-benchmarks/c/float-newlib/double_req_bl_0670_true-unreach-call.c [2018-11-22 21:57:54,814 INFO L355 CDTParser]: About to delete temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_aa1c0402-f08d-440c-b496-b6e82e54b41d/bin-2019/utaipan/data/d8704463e/e60bbda15a0a4630a74e21559d350e99/FLAG60471226e [2018-11-22 21:57:54,823 INFO L363 CDTParser]: Successfully deleted /tmp/vcloud-vcloud-master/worker/working_dir_aa1c0402-f08d-440c-b496-b6e82e54b41d/bin-2019/utaipan/data/d8704463e/e60bbda15a0a4630a74e21559d350e99 [2018-11-22 21:57:54,825 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-22 21:57:54,826 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-22 21:57:54,826 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-22 21:57:54,826 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-22 21:57:54,829 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-22 21:57:54,829 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 22.11 09:57:54" (1/1) ... [2018-11-22 21:57:54,832 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@5d6a5f6e and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 09:57:54, skipping insertion in model container [2018-11-22 21:57:54,832 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 22.11 09:57:54" (1/1) ... [2018-11-22 21:57:54,838 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-22 21:57:54,859 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-22 21:57:55,030 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-22 21:57:55,037 INFO L191 MainTranslator]: Completed pre-run [2018-11-22 21:57:55,082 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-22 21:57:55,109 INFO L195 MainTranslator]: Completed translation [2018-11-22 21:57:55,109 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 09:57:55 WrapperNode [2018-11-22 21:57:55,110 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-22 21:57:55,110 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-22 21:57:55,111 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-22 21:57:55,111 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-22 21:57:55,117 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 09:57:55" (1/1) ... [2018-11-22 21:57:55,126 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 09:57:55" (1/1) ... [2018-11-22 21:57:55,172 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-22 21:57:55,172 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-22 21:57:55,172 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-22 21:57:55,172 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-22 21:57:55,178 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 09:57:55" (1/1) ... [2018-11-22 21:57:55,178 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 09:57:55" (1/1) ... [2018-11-22 21:57:55,183 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 09:57:55" (1/1) ... [2018-11-22 21:57:55,183 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 09:57:55" (1/1) ... [2018-11-22 21:57:55,204 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 09:57:55" (1/1) ... [2018-11-22 21:57:55,212 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 09:57:55" (1/1) ... [2018-11-22 21:57:55,214 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 09:57:55" (1/1) ... [2018-11-22 21:57:55,218 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-22 21:57:55,218 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-22 21:57:55,218 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-22 21:57:55,218 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-22 21:57:55,219 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 09:57:55" (1/1) ... No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_aa1c0402-f08d-440c-b496-b6e82e54b41d/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-22 21:57:55,249 INFO L130 BoogieDeclarations]: Found specification of procedure isnan_double [2018-11-22 21:57:55,249 INFO L138 BoogieDeclarations]: Found implementation of procedure isnan_double [2018-11-22 21:57:55,249 INFO L130 BoogieDeclarations]: Found specification of procedure read~intFLOATTYPE8 [2018-11-22 21:57:55,249 INFO L130 BoogieDeclarations]: Found specification of procedure write~intFLOATTYPE8 [2018-11-22 21:57:55,249 INFO L130 BoogieDeclarations]: Found specification of procedure main [2018-11-22 21:57:55,250 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2018-11-22 21:57:55,250 INFO L130 BoogieDeclarations]: Found specification of procedure __ieee754_atan2 [2018-11-22 21:57:55,250 INFO L138 BoogieDeclarations]: Found implementation of procedure __ieee754_atan2 [2018-11-22 21:57:55,250 INFO L130 BoogieDeclarations]: Found specification of procedure fabs_double [2018-11-22 21:57:55,250 INFO L138 BoogieDeclarations]: Found implementation of procedure fabs_double [2018-11-22 21:57:55,250 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2018-11-22 21:57:55,251 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2018-11-22 21:57:55,251 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~intFLOATTYPE8 [2018-11-22 21:57:55,251 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-22 21:57:55,251 INFO L130 BoogieDeclarations]: Found specification of procedure atan_double [2018-11-22 21:57:55,251 INFO L138 BoogieDeclarations]: Found implementation of procedure atan_double [2018-11-22 21:57:55,251 INFO L130 BoogieDeclarations]: Found specification of procedure read~intINTTYPE4 [2018-11-22 21:57:55,251 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-22 21:57:55,252 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-22 21:57:55,252 INFO L130 BoogieDeclarations]: Found specification of procedure write~intINTTYPE4 [2018-11-22 21:57:55,252 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-22 21:57:55,730 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-22 21:57:55,951 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-22 21:57:56,040 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-22 21:57:56,068 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-22 21:57:57,969 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-22 21:57:57,984 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-22 21:57:58,044 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-22 21:58:05,875 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-22 21:58:11,066 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-22 21:58:13,397 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-22 21:58:13,398 INFO L280 CfgBuilder]: Removed 16 assue(true) statements. [2018-11-22 21:58:13,398 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 22.11 09:58:13 BoogieIcfgContainer [2018-11-22 21:58:13,398 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-22 21:58:13,399 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2018-11-22 21:58:13,399 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2018-11-22 21:58:13,401 INFO L276 PluginConnector]: TraceAbstraction initialized [2018-11-22 21:58:13,401 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 22.11 09:57:54" (1/3) ... [2018-11-22 21:58:13,402 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@6a7b080f and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 22.11 09:58:13, skipping insertion in model container [2018-11-22 21:58:13,402 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 09:57:55" (2/3) ... [2018-11-22 21:58:13,402 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@6a7b080f and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 22.11 09:58:13, skipping insertion in model container [2018-11-22 21:58:13,402 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 22.11 09:58:13" (3/3) ... [2018-11-22 21:58:13,403 INFO L112 eAbstractionObserver]: Analyzing ICFG double_req_bl_0670_true-unreach-call.c [2018-11-22 21:58:13,409 INFO L156 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2018-11-22 21:58:13,413 INFO L168 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2018-11-22 21:58:13,423 INFO L257 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2018-11-22 21:58:13,441 INFO L133 ementStrategyFactory]: Using default assertion order modulation [2018-11-22 21:58:13,441 INFO L382 AbstractCegarLoop]: Interprodecural is true [2018-11-22 21:58:13,441 INFO L383 AbstractCegarLoop]: Hoare is true [2018-11-22 21:58:13,441 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2018-11-22 21:58:13,442 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2018-11-22 21:58:13,442 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-11-22 21:58:13,442 INFO L387 AbstractCegarLoop]: Difference is false [2018-11-22 21:58:13,442 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-11-22 21:58:13,442 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2018-11-22 21:58:13,453 INFO L276 IsEmpty]: Start isEmpty. Operand 112 states. [2018-11-22 21:58:13,457 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 30 [2018-11-22 21:58:13,457 INFO L394 BasicCegarLoop]: Found error trace [2018-11-22 21:58:13,458 INFO L402 BasicCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-22 21:58:13,459 INFO L423 AbstractCegarLoop]: === Iteration 1 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-22 21:58:13,462 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-22 21:58:13,462 INFO L82 PathProgramCache]: Analyzing trace with hash 1493309205, now seen corresponding path program 1 times [2018-11-22 21:58:13,465 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-22 21:58:13,465 INFO L69 tionRefinementEngine]: Using refinement strategy WalrusRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_aa1c0402-f08d-440c-b496-b6e82e54b41d/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-22 21:58:13,477 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-22 21:58:13,701 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-22 21:58:13,726 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-22 21:58:13,739 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 3 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-22 21:58:13,739 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-22 21:58:13,754 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-22 21:58:13,755 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2018-11-22 21:58:13,757 INFO L459 AbstractCegarLoop]: Interpolant automaton has 2 states [2018-11-22 21:58:13,764 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2018-11-22 21:58:13,765 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-22 21:58:13,766 INFO L87 Difference]: Start difference. First operand 112 states. Second operand 2 states. [2018-11-22 21:58:13,790 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-22 21:58:13,790 INFO L93 Difference]: Finished difference Result 210 states and 330 transitions. [2018-11-22 21:58:13,790 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2018-11-22 21:58:13,791 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 29 [2018-11-22 21:58:13,791 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-22 21:58:13,799 INFO L225 Difference]: With dead ends: 210 [2018-11-22 21:58:13,799 INFO L226 Difference]: Without dead ends: 107 [2018-11-22 21:58:13,802 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 28 GetRequests, 28 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-22 21:58:13,813 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 107 states. [2018-11-22 21:58:13,832 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 107 to 107. [2018-11-22 21:58:13,833 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 107 states. [2018-11-22 21:58:13,834 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 107 states to 107 states and 149 transitions. [2018-11-22 21:58:13,836 INFO L78 Accepts]: Start accepts. Automaton has 107 states and 149 transitions. Word has length 29 [2018-11-22 21:58:13,837 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-22 21:58:13,837 INFO L480 AbstractCegarLoop]: Abstraction has 107 states and 149 transitions. [2018-11-22 21:58:13,837 INFO L481 AbstractCegarLoop]: Interpolant automaton has 2 states. [2018-11-22 21:58:13,837 INFO L276 IsEmpty]: Start isEmpty. Operand 107 states and 149 transitions. [2018-11-22 21:58:13,839 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 32 [2018-11-22 21:58:13,839 INFO L394 BasicCegarLoop]: Found error trace [2018-11-22 21:58:13,839 INFO L402 BasicCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-22 21:58:13,839 INFO L423 AbstractCegarLoop]: === Iteration 2 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-22 21:58:13,839 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-22 21:58:13,839 INFO L82 PathProgramCache]: Analyzing trace with hash 1822195774, now seen corresponding path program 1 times [2018-11-22 21:58:13,840 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-22 21:58:13,840 INFO L69 tionRefinementEngine]: Using refinement strategy WalrusRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_aa1c0402-f08d-440c-b496-b6e82e54b41d/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-22 21:58:13,842 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-22 21:58:14,050 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-22 21:58:14,077 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-22 21:58:22,301 WARN L180 SmtUtils]: Spent 113.00 ms on a formula simplification that was a NOOP. DAG size: 7 [2018-11-22 21:58:25,887 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2018-11-22 21:58:25,887 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-22 21:58:25,902 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-22 21:58:25,902 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2018-11-22 21:58:25,904 INFO L459 AbstractCegarLoop]: Interpolant automaton has 11 states [2018-11-22 21:58:25,904 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2018-11-22 21:58:25,904 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=89, Unknown=2, NotChecked=0, Total=110 [2018-11-22 21:58:25,904 INFO L87 Difference]: Start difference. First operand 107 states and 149 transitions. Second operand 11 states. [2018-11-22 21:58:44,866 WARN L180 SmtUtils]: Spent 2.64 s on a formula simplification that was a NOOP. DAG size: 10 [2018-11-22 21:58:48,520 WARN L180 SmtUtils]: Spent 259.00 ms on a formula simplification that was a NOOP. DAG size: 11 [2018-11-22 21:58:53,149 WARN L180 SmtUtils]: Spent 236.00 ms on a formula simplification that was a NOOP. DAG size: 11 [2018-11-22 21:59:15,001 WARN L180 SmtUtils]: Spent 294.00 ms on a formula simplification that was a NOOP. DAG size: 14 [2018-11-22 21:59:17,056 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-22 21:59:17,056 INFO L93 Difference]: Finished difference Result 121 states and 165 transitions. [2018-11-22 21:59:17,057 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2018-11-22 21:59:17,057 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 31 [2018-11-22 21:59:17,057 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-22 21:59:17,060 INFO L225 Difference]: With dead ends: 121 [2018-11-22 21:59:17,060 INFO L226 Difference]: Without dead ends: 116 [2018-11-22 21:59:17,061 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 36 GetRequests, 21 SyntacticMatches, 0 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 13 ImplicationChecksByTransitivity, 23.6s TimeCoverageRelationStatistics Valid=47, Invalid=222, Unknown=3, NotChecked=0, Total=272 [2018-11-22 21:59:17,062 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 116 states. [2018-11-22 21:59:17,073 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 116 to 111. [2018-11-22 21:59:17,073 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 111 states. [2018-11-22 21:59:17,074 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 111 states to 111 states and 154 transitions. [2018-11-22 21:59:17,075 INFO L78 Accepts]: Start accepts. Automaton has 111 states and 154 transitions. Word has length 31 [2018-11-22 21:59:17,075 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-22 21:59:17,075 INFO L480 AbstractCegarLoop]: Abstraction has 111 states and 154 transitions. [2018-11-22 21:59:17,075 INFO L481 AbstractCegarLoop]: Interpolant automaton has 11 states. [2018-11-22 21:59:17,075 INFO L276 IsEmpty]: Start isEmpty. Operand 111 states and 154 transitions. [2018-11-22 21:59:17,077 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 37 [2018-11-22 21:59:17,077 INFO L394 BasicCegarLoop]: Found error trace [2018-11-22 21:59:17,077 INFO L402 BasicCegarLoop]: trace histogram [3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-22 21:59:17,077 INFO L423 AbstractCegarLoop]: === Iteration 3 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-22 21:59:17,077 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-22 21:59:17,077 INFO L82 PathProgramCache]: Analyzing trace with hash -988805385, now seen corresponding path program 1 times [2018-11-22 21:59:17,078 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-22 21:59:17,078 INFO L69 tionRefinementEngine]: Using refinement strategy WalrusRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_aa1c0402-f08d-440c-b496-b6e82e54b41d/bin-2019/utaipan/mathsat Starting monitored process 4 with mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 4 with mathsat -unsat_core_generation=3 [2018-11-22 21:59:17,081 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-22 21:59:17,280 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-22 21:59:17,306 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-22 21:59:19,549 WARN L854 $PredicateComparison]: unable to prove that (exists ((__ieee754_atan2_~x (_ FloatingPoint 11 53))) (= |c___ieee754_atan2_#res| (fp.add roundNearestTiesToEven __ieee754_atan2_~x |c___ieee754_atan2_#in~y|))) is different from true [2018-11-22 21:59:21,076 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 4 proven. 0 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2018-11-22 21:59:21,077 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-22 21:59:21,087 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-22 21:59:21,087 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2018-11-22 21:59:21,087 INFO L459 AbstractCegarLoop]: Interpolant automaton has 11 states [2018-11-22 21:59:21,087 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2018-11-22 21:59:21,088 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=74, Unknown=1, NotChecked=16, Total=110 [2018-11-22 21:59:21,088 INFO L87 Difference]: Start difference. First operand 111 states and 154 transitions. Second operand 11 states. [2018-11-22 21:59:25,382 WARN L180 SmtUtils]: Spent 2.32 s on a formula simplification that was a NOOP. DAG size: 10 [2018-11-22 21:59:27,335 WARN L180 SmtUtils]: Spent 301.00 ms on a formula simplification that was a NOOP. DAG size: 11 [2018-11-22 21:59:28,403 WARN L180 SmtUtils]: Spent 255.00 ms on a formula simplification that was a NOOP. DAG size: 11 [2018-11-22 21:59:30,059 WARN L180 SmtUtils]: Spent 474.00 ms on a formula simplification that was a NOOP. DAG size: 14 [2018-11-22 21:59:30,673 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-22 21:59:30,673 INFO L93 Difference]: Finished difference Result 121 states and 164 transitions. [2018-11-22 21:59:30,674 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2018-11-22 21:59:30,674 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 36 [2018-11-22 21:59:30,674 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-22 21:59:30,675 INFO L225 Difference]: With dead ends: 121 [2018-11-22 21:59:30,675 INFO L226 Difference]: Without dead ends: 114 [2018-11-22 21:59:30,676 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 40 GetRequests, 26 SyntacticMatches, 0 SemanticMatches, 14 ConstructedPredicates, 1 IntricatePredicates, 0 DeprecatedPredicates, 9 ImplicationChecksByTransitivity, 10.0s TimeCoverageRelationStatistics Valid=40, Invalid=173, Unknown=1, NotChecked=26, Total=240 [2018-11-22 21:59:30,676 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 114 states. [2018-11-22 21:59:30,681 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 114 to 107. [2018-11-22 21:59:30,681 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 107 states. [2018-11-22 21:59:30,682 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 107 states to 107 states and 148 transitions. [2018-11-22 21:59:30,683 INFO L78 Accepts]: Start accepts. Automaton has 107 states and 148 transitions. Word has length 36 [2018-11-22 21:59:30,683 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-22 21:59:30,683 INFO L480 AbstractCegarLoop]: Abstraction has 107 states and 148 transitions. [2018-11-22 21:59:30,683 INFO L481 AbstractCegarLoop]: Interpolant automaton has 11 states. [2018-11-22 21:59:30,683 INFO L276 IsEmpty]: Start isEmpty. Operand 107 states and 148 transitions. [2018-11-22 21:59:30,686 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 37 [2018-11-22 21:59:30,686 INFO L394 BasicCegarLoop]: Found error trace [2018-11-22 21:59:30,687 INFO L402 BasicCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-22 21:59:30,687 INFO L423 AbstractCegarLoop]: === Iteration 4 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-22 21:59:30,687 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-22 21:59:30,687 INFO L82 PathProgramCache]: Analyzing trace with hash -788667223, now seen corresponding path program 1 times [2018-11-22 21:59:30,688 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-22 21:59:30,688 INFO L69 tionRefinementEngine]: Using refinement strategy WalrusRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_aa1c0402-f08d-440c-b496-b6e82e54b41d/bin-2019/utaipan/mathsat Starting monitored process 5 with mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 5 with mathsat -unsat_core_generation=3 [2018-11-22 21:59:30,691 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-22 21:59:31,027 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-22 21:59:31,054 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-22 21:59:31,148 INFO L683 Elim1Store]: detected equality via solver [2018-11-22 21:59:31,149 INFO L683 Elim1Store]: detected equality via solver [2018-11-22 21:59:31,150 INFO L683 Elim1Store]: detected equality via solver [2018-11-22 21:59:31,150 INFO L683 Elim1Store]: detected equality via solver [2018-11-22 21:59:31,154 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-22 21:59:31,431 WARN L521 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 5 mathsat -unsat_core_generation=3 [2018-11-22 21:59:31,432 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-22 21:59:31,434 INFO L168 Benchmark]: Toolchain (without parser) took 96609.43 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 136.3 MB). Free memory was 949.2 MB in the beginning and 845.8 MB in the end (delta: 103.4 MB). Peak memory consumption was 239.8 MB. Max. memory is 11.5 GB. [2018-11-22 21:59:31,435 INFO L168 Benchmark]: CDTParser took 0.11 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-22 21:59:31,436 INFO L168 Benchmark]: CACSL2BoogieTranslator took 283.72 ms. Allocated memory is still 1.0 GB. Free memory was 949.2 MB in the beginning and 927.7 MB in the end (delta: 21.5 MB). Peak memory consumption was 21.5 MB. Max. memory is 11.5 GB. [2018-11-22 21:59:31,436 INFO L168 Benchmark]: Boogie Procedure Inliner took 61.46 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 136.3 MB). Free memory was 927.7 MB in the beginning and 1.1 GB in the end (delta: -202.6 MB). Peak memory consumption was 16.1 MB. Max. memory is 11.5 GB. [2018-11-22 21:59:31,436 INFO L168 Benchmark]: Boogie Preprocessor took 45.82 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: 6.8 MB). Peak memory consumption was 6.8 MB. Max. memory is 11.5 GB. [2018-11-22 21:59:31,437 INFO L168 Benchmark]: RCFGBuilder took 18180.15 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: 67.3 MB). Peak memory consumption was 67.3 MB. Max. memory is 11.5 GB. [2018-11-22 21:59:31,437 INFO L168 Benchmark]: TraceAbstraction took 78034.97 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 845.8 MB in the end (delta: 210.5 MB). Peak memory consumption was 210.5 MB. Max. memory is 11.5 GB. [2018-11-22 21:59:31,440 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.11 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 283.72 ms. Allocated memory is still 1.0 GB. Free memory was 949.2 MB in the beginning and 927.7 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 61.46 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 136.3 MB). Free memory was 927.7 MB in the beginning and 1.1 GB in the end (delta: -202.6 MB). Peak memory consumption was 16.1 MB. Max. memory is 11.5 GB. * Boogie Preprocessor took 45.82 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: 6.8 MB). Peak memory consumption was 6.8 MB. Max. memory is 11.5 GB. * RCFGBuilder took 18180.15 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: 67.3 MB). Peak memory consumption was 67.3 MB. Max. memory is 11.5 GB. * TraceAbstraction took 78034.97 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 845.8 MB in the end (delta: 210.5 MB). Peak memory consumption was 210.5 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...