./Ultimate.py --spec ../../sv-benchmarks/c/properties/unreach-call.prp --file ../../sv-benchmarks/c/float-newlib/double_req_bl_0686a_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_57cb3b9b-8711-4d88-8b81-1394282b93b6/bin-2019/utaipan/data/config -Xmx12G -Xms1G -jar /tmp/vcloud-vcloud-master/worker/working_dir_57cb3b9b-8711-4d88-8b81-1394282b93b6/bin-2019/utaipan/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata /tmp/vcloud-vcloud-master/worker/working_dir_57cb3b9b-8711-4d88-8b81-1394282b93b6/bin-2019/utaipan/data -tc /tmp/vcloud-vcloud-master/worker/working_dir_57cb3b9b-8711-4d88-8b81-1394282b93b6/bin-2019/utaipan/config/TaipanReach.xml -i ../../sv-benchmarks/c/float-newlib/double_req_bl_0686a_true-unreach-call.c -s /tmp/vcloud-vcloud-master/worker/working_dir_57cb3b9b-8711-4d88-8b81-1394282b93b6/bin-2019/utaipan/config/svcomp-Reach-32bit-Taipan_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /tmp/vcloud-vcloud-master/worker/working_dir_57cb3b9b-8711-4d88-8b81-1394282b93b6/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 6325aa1d97dea13f4033dc32ee324acae8808fcc ....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................... 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_57cb3b9b-8711-4d88-8b81-1394282b93b6/bin-2019/utaipan/data/config -Xmx12G -Xms1G -jar /tmp/vcloud-vcloud-master/worker/working_dir_57cb3b9b-8711-4d88-8b81-1394282b93b6/bin-2019/utaipan/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata /tmp/vcloud-vcloud-master/worker/working_dir_57cb3b9b-8711-4d88-8b81-1394282b93b6/bin-2019/utaipan/data -tc /tmp/vcloud-vcloud-master/worker/working_dir_57cb3b9b-8711-4d88-8b81-1394282b93b6/bin-2019/utaipan/config/TaipanReach.xml -i ../../sv-benchmarks/c/float-newlib/double_req_bl_0686a_true-unreach-call.c -s /tmp/vcloud-vcloud-master/worker/working_dir_57cb3b9b-8711-4d88-8b81-1394282b93b6/bin-2019/utaipan/config/svcomp-Reach-32bit-Taipan_Bitvector.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /tmp/vcloud-vcloud-master/worker/working_dir_57cb3b9b-8711-4d88-8b81-1394282b93b6/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 6325aa1d97dea13f4033dc32ee324acae8808fcc ............................................................................................................................................................................................................................................................................................................................................ 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 22:39:49,482 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-22 22:39:49,483 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-22 22:39:49,492 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-22 22:39:49,492 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-22 22:39:49,493 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-22 22:39:49,493 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-22 22:39:49,495 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-22 22:39:49,496 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-22 22:39:49,497 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-22 22:39:49,498 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-22 22:39:49,498 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-22 22:39:49,498 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-22 22:39:49,499 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-22 22:39:49,500 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-22 22:39:49,501 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-22 22:39:49,501 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-22 22:39:49,503 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-22 22:39:49,504 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-22 22:39:49,505 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-22 22:39:49,506 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-22 22:39:49,507 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-22 22:39:49,509 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-22 22:39:49,509 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-22 22:39:49,509 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-22 22:39:49,510 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-22 22:39:49,511 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-22 22:39:49,512 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-22 22:39:49,512 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-22 22:39:49,513 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-22 22:39:49,513 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-22 22:39:49,514 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-22 22:39:49,514 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-22 22:39:49,514 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-22 22:39:49,515 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-22 22:39:49,516 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-22 22:39:49,516 INFO L98 SettingsManager]: Beginning loading settings from /tmp/vcloud-vcloud-master/worker/working_dir_57cb3b9b-8711-4d88-8b81-1394282b93b6/bin-2019/utaipan/config/svcomp-Reach-32bit-Taipan_Default.epf [2018-11-22 22:39:49,527 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-22 22:39:49,528 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-22 22:39:49,528 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-22 22:39:49,528 INFO L133 SettingsManager]: * ... calls to implemented procedures=ONLY_FOR_CONCURRENT_PROGRAMS [2018-11-22 22:39:49,528 INFO L133 SettingsManager]: * User list type=DISABLED [2018-11-22 22:39:49,529 INFO L131 SettingsManager]: Preferences of Abstract Interpretation differ from their defaults: [2018-11-22 22:39:49,529 INFO L133 SettingsManager]: * Explicit value domain=true [2018-11-22 22:39:49,529 INFO L133 SettingsManager]: * Abstract domain for RCFG-of-the-future=PoormanAbstractDomain [2018-11-22 22:39:49,529 INFO L133 SettingsManager]: * Octagon Domain=false [2018-11-22 22:39:49,529 INFO L133 SettingsManager]: * Abstract domain=CompoundDomain [2018-11-22 22:39:49,529 INFO L133 SettingsManager]: * Check feasibility of abstract posts with an SMT solver=true [2018-11-22 22:39:49,530 INFO L133 SettingsManager]: * Use the RCFG-of-the-future interface=true [2018-11-22 22:39:49,530 INFO L133 SettingsManager]: * Interval Domain=false [2018-11-22 22:39:49,530 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-22 22:39:49,531 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-22 22:39:49,531 INFO L133 SettingsManager]: * Overapproximate operations on floating types=true [2018-11-22 22:39:49,531 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-22 22:39:49,531 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-22 22:39:49,531 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-22 22:39:49,531 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-22 22:39:49,532 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-22 22:39:49,532 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-22 22:39:49,532 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-22 22:39:49,532 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-22 22:39:49,532 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-22 22:39:49,532 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-22 22:39:49,533 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-11-22 22:39:49,533 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-22 22:39:49,533 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-11-22 22:39:49,533 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-22 22:39:49,533 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-22 22:39:49,533 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-22 22:39:49,534 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-22 22:39:49,534 INFO L133 SettingsManager]: * Trace refinement strategy=TAIPAN [2018-11-22 22:39:49,534 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-22 22:39:49,534 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2018-11-22 22:39:49,534 INFO L133 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2018-11-22 22:39:49,534 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_57cb3b9b-8711-4d88-8b81-1394282b93b6/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 -> 6325aa1d97dea13f4033dc32ee324acae8808fcc [2018-11-22 22:39:49,562 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-22 22:39:49,573 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-22 22:39:49,576 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-22 22:39:49,577 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-22 22:39:49,578 INFO L276 PluginConnector]: CDTParser initialized [2018-11-22 22:39:49,578 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /tmp/vcloud-vcloud-master/worker/working_dir_57cb3b9b-8711-4d88-8b81-1394282b93b6/bin-2019/utaipan/../../sv-benchmarks/c/float-newlib/double_req_bl_0686a_true-unreach-call.c [2018-11-22 22:39:49,622 INFO L221 CDTParser]: Created temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_57cb3b9b-8711-4d88-8b81-1394282b93b6/bin-2019/utaipan/data/dab4d0b96/9e7e1958890c4eb59bbe6cd7f1b2fff7/FLAGd3a0f88de [2018-11-22 22:39:50,002 INFO L307 CDTParser]: Found 1 translation units. [2018-11-22 22:39:50,002 INFO L161 CDTParser]: Scanning /tmp/vcloud-vcloud-master/worker/working_dir_57cb3b9b-8711-4d88-8b81-1394282b93b6/sv-benchmarks/c/float-newlib/double_req_bl_0686a_true-unreach-call.c [2018-11-22 22:39:50,010 INFO L355 CDTParser]: About to delete temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_57cb3b9b-8711-4d88-8b81-1394282b93b6/bin-2019/utaipan/data/dab4d0b96/9e7e1958890c4eb59bbe6cd7f1b2fff7/FLAGd3a0f88de [2018-11-22 22:39:50,403 INFO L363 CDTParser]: Successfully deleted /tmp/vcloud-vcloud-master/worker/working_dir_57cb3b9b-8711-4d88-8b81-1394282b93b6/bin-2019/utaipan/data/dab4d0b96/9e7e1958890c4eb59bbe6cd7f1b2fff7 [2018-11-22 22:39:50,406 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-22 22:39:50,407 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-22 22:39:50,407 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-22 22:39:50,407 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-22 22:39:50,411 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-22 22:39:50,412 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 22.11 10:39:50" (1/1) ... [2018-11-22 22:39:50,414 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@7b5c9f1d and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:39:50, skipping insertion in model container [2018-11-22 22:39:50,415 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 22.11 10:39:50" (1/1) ... [2018-11-22 22:39:50,422 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-22 22:39:50,449 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-22 22:39:50,633 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-22 22:39:50,638 INFO L191 MainTranslator]: Completed pre-run [2018-11-22 22:39:50,676 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-22 22:39:50,749 INFO L195 MainTranslator]: Completed translation [2018-11-22 22:39:50,749 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:39:50 WrapperNode [2018-11-22 22:39:50,749 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-22 22:39:50,750 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-22 22:39:50,750 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-22 22:39:50,750 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-22 22:39:50,757 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:39:50" (1/1) ... [2018-11-22 22:39:50,767 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:39:50" (1/1) ... [2018-11-22 22:39:50,773 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-22 22:39:50,773 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-22 22:39:50,773 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-22 22:39:50,773 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-22 22:39:50,780 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:39:50" (1/1) ... [2018-11-22 22:39:50,780 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:39:50" (1/1) ... [2018-11-22 22:39:50,785 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:39:50" (1/1) ... [2018-11-22 22:39:50,785 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:39:50" (1/1) ... [2018-11-22 22:39:50,807 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:39:50" (1/1) ... [2018-11-22 22:39:50,817 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:39:50" (1/1) ... [2018-11-22 22:39:50,820 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:39:50" (1/1) ... [2018-11-22 22:39:50,824 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-22 22:39:50,824 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-22 22:39:50,825 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-22 22:39:50,825 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-22 22:39:50,826 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:39:50" (1/1) ... No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_57cb3b9b-8711-4d88-8b81-1394282b93b6/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 22:39:50,867 INFO L130 BoogieDeclarations]: Found specification of procedure main [2018-11-22 22:39:50,868 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2018-11-22 22:39:50,868 INFO L130 BoogieDeclarations]: Found specification of procedure __ieee754_atan2 [2018-11-22 22:39:50,868 INFO L138 BoogieDeclarations]: Found implementation of procedure __ieee754_atan2 [2018-11-22 22:39:50,868 INFO L130 BoogieDeclarations]: Found specification of procedure read~real [2018-11-22 22:39:50,868 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2018-11-22 22:39:50,868 INFO L130 BoogieDeclarations]: Found specification of procedure fabs_double [2018-11-22 22:39:50,868 INFO L138 BoogieDeclarations]: Found implementation of procedure fabs_double [2018-11-22 22:39:50,868 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2018-11-22 22:39:50,868 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2018-11-22 22:39:50,868 INFO L130 BoogieDeclarations]: Found specification of procedure write~real [2018-11-22 22:39:50,869 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-22 22:39:50,869 INFO L130 BoogieDeclarations]: Found specification of procedure atan_double [2018-11-22 22:39:50,869 INFO L138 BoogieDeclarations]: Found implementation of procedure atan_double [2018-11-22 22:39:50,869 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-22 22:39:50,869 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-22 22:39:50,869 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2018-11-22 22:39:50,869 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~real [2018-11-22 22:39:50,869 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-22 22:39:51,354 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-22 22:39:51,354 INFO L280 CfgBuilder]: Removed 16 assue(true) statements. [2018-11-22 22:39:51,355 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 22.11 10:39:51 BoogieIcfgContainer [2018-11-22 22:39:51,355 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-22 22:39:51,355 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2018-11-22 22:39:51,355 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2018-11-22 22:39:51,358 INFO L276 PluginConnector]: TraceAbstraction initialized [2018-11-22 22:39:51,358 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 22.11 10:39:50" (1/3) ... [2018-11-22 22:39:51,359 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@5a48cf3b and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 22.11 10:39:51, skipping insertion in model container [2018-11-22 22:39:51,359 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:39:50" (2/3) ... [2018-11-22 22:39:51,360 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@5a48cf3b and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 22.11 10:39:51, skipping insertion in model container [2018-11-22 22:39:51,360 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 22.11 10:39:51" (3/3) ... [2018-11-22 22:39:51,362 INFO L112 eAbstractionObserver]: Analyzing ICFG double_req_bl_0686a_true-unreach-call.c [2018-11-22 22:39:51,372 INFO L156 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2018-11-22 22:39:51,379 INFO L168 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2018-11-22 22:39:51,395 INFO L257 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2018-11-22 22:39:51,423 INFO L382 AbstractCegarLoop]: Interprodecural is true [2018-11-22 22:39:51,423 INFO L383 AbstractCegarLoop]: Hoare is true [2018-11-22 22:39:51,423 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2018-11-22 22:39:51,424 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2018-11-22 22:39:51,424 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-11-22 22:39:51,424 INFO L387 AbstractCegarLoop]: Difference is false [2018-11-22 22:39:51,424 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-11-22 22:39:51,424 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2018-11-22 22:39:51,442 INFO L276 IsEmpty]: Start isEmpty. Operand 101 states. [2018-11-22 22:39:51,447 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 19 [2018-11-22 22:39:51,447 INFO L394 BasicCegarLoop]: Found error trace [2018-11-22 22:39:51,448 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-22 22:39:51,450 INFO L423 AbstractCegarLoop]: === Iteration 1 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-22 22:39:51,454 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-22 22:39:51,454 INFO L82 PathProgramCache]: Analyzing trace with hash 947216650, now seen corresponding path program 1 times [2018-11-22 22:39:51,456 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-11-22 22:39:51,501 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-22 22:39:51,501 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-22 22:39:51,501 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-22 22:39:51,501 INFO L286 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-11-22 22:39:51,550 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-22 22:39:51,594 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-22 22:39:51,595 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-22 22:39:51,596 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2018-11-22 22:39:51,596 INFO L256 anRefinementStrategy]: Using the first perfect interpolant sequence [2018-11-22 22:39:51,601 INFO L459 AbstractCegarLoop]: Interpolant automaton has 2 states [2018-11-22 22:39:51,610 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2018-11-22 22:39:51,610 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-22 22:39:51,612 INFO L87 Difference]: Start difference. First operand 101 states. Second operand 2 states. [2018-11-22 22:39:51,637 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-22 22:39:51,637 INFO L93 Difference]: Finished difference Result 194 states and 310 transitions. [2018-11-22 22:39:51,637 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2018-11-22 22:39:51,638 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 18 [2018-11-22 22:39:51,639 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-22 22:39:51,649 INFO L225 Difference]: With dead ends: 194 [2018-11-22 22:39:51,649 INFO L226 Difference]: Without dead ends: 97 [2018-11-22 22:39:51,653 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 22:39:51,667 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 97 states. [2018-11-22 22:39:51,684 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 97 to 97. [2018-11-22 22:39:51,685 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 97 states. [2018-11-22 22:39:51,687 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 97 states to 97 states and 136 transitions. [2018-11-22 22:39:51,688 INFO L78 Accepts]: Start accepts. Automaton has 97 states and 136 transitions. Word has length 18 [2018-11-22 22:39:51,688 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-22 22:39:51,689 INFO L480 AbstractCegarLoop]: Abstraction has 97 states and 136 transitions. [2018-11-22 22:39:51,689 INFO L481 AbstractCegarLoop]: Interpolant automaton has 2 states. [2018-11-22 22:39:51,689 INFO L276 IsEmpty]: Start isEmpty. Operand 97 states and 136 transitions. [2018-11-22 22:39:51,690 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 21 [2018-11-22 22:39:51,690 INFO L394 BasicCegarLoop]: Found error trace [2018-11-22 22:39:51,690 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-22 22:39:51,690 INFO L423 AbstractCegarLoop]: === Iteration 2 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-22 22:39:51,691 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-22 22:39:51,691 INFO L82 PathProgramCache]: Analyzing trace with hash -246249165, now seen corresponding path program 1 times [2018-11-22 22:39:51,691 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-11-22 22:39:51,692 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-22 22:39:51,692 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-22 22:39:51,692 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-11-22 22:39:51,692 INFO L286 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-11-22 22:39:51,742 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-22 22:39:51,774 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-22 22:39:51,809 INFO L469 BasicCegarLoop]: Counterexample might be feasible ----- class de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder.RCFGBacktranslator [?] CALL call ULTIMATE.init(); VAL [|#NULL.base|=6442450969, |#NULL.offset|=6442450962, |old(#NULL.base)|=6442450969, |old(#NULL.offset)|=6442450962, |old(~#aT_atan~0.base)|=6442450954, |old(~#aT_atan~0.offset)|=6442450960, |old(~#atanhi_atan~0.base)|=6442450956, |old(~#atanhi_atan~0.offset)|=6442450965, |old(~#atanlo_atan~0.base)|=6442450951, |old(~#atanlo_atan~0.offset)|=6442450975, |old(~huge_atan~0)|=6442450971.0, |old(~one_atan~0)|=6442450961.0, |old(~pi_lo_atan2~0)|=6442450959.0, |old(~pi_o_2~0)|=6442450945.0, |old(~pi_o_4~0)|=6442450963.0, |old(~pi~0)|=6442450967.0, |old(~tiny_atan2~0)|=6442450974.0, |old(~zero_atan2~0)|=6442450953.0, |~#aT_atan~0.base|=6442450954, |~#aT_atan~0.offset|=6442450960, |~#atanhi_atan~0.base|=6442450956, |~#atanhi_atan~0.offset|=6442450965, |~#atanlo_atan~0.base|=6442450951, |~#atanlo_atan~0.offset|=6442450975, ~huge_atan~0=6442450971.0, ~one_atan~0=6442450961.0, ~pi_lo_atan2~0=6442450959.0, ~pi_o_2~0=6442450945.0, ~pi_o_4~0=6442450963.0, ~pi~0=6442450967.0, ~tiny_atan2~0=6442450974.0, ~zero_atan2~0=6442450953.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)|=6442450969, |old(#NULL.offset)|=6442450962, |old(~#aT_atan~0.base)|=6442450954, |old(~#aT_atan~0.offset)|=6442450960, |old(~#atanhi_atan~0.base)|=6442450956, |old(~#atanhi_atan~0.offset)|=6442450965, |old(~#atanlo_atan~0.base)|=6442450951, |old(~#atanlo_atan~0.offset)|=6442450975, |old(~huge_atan~0)|=6442450971.0, |old(~one_atan~0)|=6442450961.0, |old(~pi_lo_atan2~0)|=6442450959.0, |old(~pi_o_2~0)|=6442450945.0, |old(~pi_o_4~0)|=6442450963.0, |old(~pi~0)|=6442450967.0, |old(~tiny_atan2~0)|=6442450974.0, |old(~zero_atan2~0)|=6442450953.0, |~#aT_atan~0.base|=6442450955, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=6442450957, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=6442450946, |~#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)|=6442450969, |old(#NULL.offset)|=6442450962, |old(~#aT_atan~0.base)|=6442450954, |old(~#aT_atan~0.offset)|=6442450960, |old(~#atanhi_atan~0.base)|=6442450956, |old(~#atanhi_atan~0.offset)|=6442450965, |old(~#atanlo_atan~0.base)|=6442450951, |old(~#atanlo_atan~0.offset)|=6442450975, |old(~huge_atan~0)|=6442450971.0, |old(~one_atan~0)|=6442450961.0, |old(~pi_lo_atan2~0)|=6442450959.0, |old(~pi_o_2~0)|=6442450945.0, |old(~pi_o_4~0)|=6442450963.0, |old(~pi~0)|=6442450967.0, |old(~tiny_atan2~0)|=6442450974.0, |old(~zero_atan2~0)|=6442450953.0, |~#aT_atan~0.base|=6442450955, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=6442450957, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=6442450946, |~#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 #330#return; VAL [|#NULL.base|=0, |#NULL.offset|=0, |~#aT_atan~0.base|=6442450955, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=6442450957, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=6442450946, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] CALL call #t~ret49 := main(); VAL [|#NULL.base|=0, |#NULL.offset|=0, |~#aT_atan~0.base|=6442450955, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=6442450957, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=6442450946, |~#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 := ~someBinaryArithmeticDOUBLEoperation(1.0, 0.0);~y~0 := ~someBinaryArithmeticDOUBLEoperation(1.0, 0.0); VAL [|#NULL.base|=0, |#NULL.offset|=0, |~#aT_atan~0.base|=6442450955, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=6442450957, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=6442450946, |~#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~ret48 := __ieee754_atan2(~y~0, ~x~0); VAL [|#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=6442450966.0, |__ieee754_atan2_#in~y|=6442450964.0, |~#aT_atan~0.base|=6442450955, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=6442450957, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=6442450946, |~#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=6442450966.0, __ieee754_atan2_~y=6442450964.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=6442450966.0, |__ieee754_atan2_#in~y|=6442450964.0, |~#aT_atan~0.base|=6442450955, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=6442450957, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=6442450946, |~#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~union28;havoc #t~mem27;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~union30;havoc #t~mem29;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=3, __ieee754_atan2_~lx~0=6442450968, __ieee754_atan2_~x=6442450966.0, __ieee754_atan2_~y=6442450964.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=6442450966.0, |__ieee754_atan2_#in~y|=6442450964.0, |~#aT_atan~0.base|=6442450955, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=6442450957, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=6442450946, |~#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=3, __ieee754_atan2_~lx~0=6442450968, __ieee754_atan2_~x=6442450966.0, __ieee754_atan2_~y=6442450964.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=6442450966.0, |__ieee754_atan2_#in~y|=6442450964.0, |~#aT_atan~0.base|=6442450955, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=6442450957, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=6442450946, |~#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=3, __ieee754_atan2_~lx~0=6442450968, __ieee754_atan2_~x=6442450966.0, __ieee754_atan2_~y=6442450964.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=6442450966.0, |__ieee754_atan2_#in~y|=6442450964.0, |~#aT_atan~0.base|=6442450955, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=6442450957, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=6442450946, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] call ~#ew_u~1.base, ~#ew_u~1.offset := #Ultimate.alloc(8);call write~real(~y, ~#ew_u~1.base, ~#ew_u~1.offset, 8);call #t~mem31 := read~int(~#ew_u~1.base, 4 + ~#ew_u~1.offset, 4);~hy~0 := (if #t~mem31 % 4294967296 % 4294967296 <= 2147483647 then #t~mem31 % 4294967296 % 4294967296 else #t~mem31 % 4294967296 % 4294967296 - 4294967296);call write~real(#t~union32, ~#ew_u~1.base, ~#ew_u~1.offset, 8);havoc #t~mem31;havoc #t~union32;call #t~mem33 := read~int(~#ew_u~1.base, ~#ew_u~1.offset, 4);~ly~0 := #t~mem33;call write~real(#t~union34, ~#ew_u~1.base, ~#ew_u~1.offset, 8);havoc #t~union34;havoc #t~mem33;call ULTIMATE.dealloc(~#ew_u~1.base, ~#ew_u~1.offset);havoc ~#ew_u~1.base, ~#ew_u~1.offset; VAL [__ieee754_atan2_~hx~1=3, __ieee754_atan2_~hy~0=(- 2147483648), __ieee754_atan2_~lx~0=6442450968, __ieee754_atan2_~ly~0=6442450952, __ieee754_atan2_~x=6442450966.0, __ieee754_atan2_~y=6442450964.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=6442450966.0, |__ieee754_atan2_#in~y|=6442450964.0, |~#aT_atan~0.base|=6442450955, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=6442450957, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=6442450946, |~#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=3, __ieee754_atan2_~hy~0=(- 2147483648), __ieee754_atan2_~lx~0=6442450968, __ieee754_atan2_~ly~0=6442450952, __ieee754_atan2_~x=6442450966.0, __ieee754_atan2_~y=6442450964.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=6442450966.0, |__ieee754_atan2_#in~y|=6442450964.0, |~#aT_atan~0.base|=6442450955, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=6442450957, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=6442450946, |~#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=3, __ieee754_atan2_~hy~0=(- 2147483648), __ieee754_atan2_~lx~0=6442450968, __ieee754_atan2_~ly~0=6442450952, __ieee754_atan2_~x=6442450966.0, __ieee754_atan2_~y=6442450964.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=6442450966.0, |__ieee754_atan2_#in~y|=6442450964.0, |~#aT_atan~0.base|=6442450955, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=6442450957, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=6442450946, |~#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=3, __ieee754_atan2_~hy~0=(- 2147483648), __ieee754_atan2_~lx~0=6442450968, __ieee754_atan2_~ly~0=6442450952, __ieee754_atan2_~x=6442450966.0, __ieee754_atan2_~y=6442450964.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=6442450966.0, |__ieee754_atan2_#in~y|=6442450964.0, |~#aT_atan~0.base|=6442450955, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=6442450957, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=6442450946, |~#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=3, __ieee754_atan2_~hy~0=(- 2147483648), __ieee754_atan2_~lx~0=6442450968, __ieee754_atan2_~ly~0=6442450952, __ieee754_atan2_~x=6442450966.0, __ieee754_atan2_~y=6442450964.0, |#NULL.base|=0, |#NULL.offset|=0, |__ieee754_atan2_#in~x|=6442450966.0, |__ieee754_atan2_#in~y|=6442450964.0, |~#aT_atan~0.base|=6442450955, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=6442450957, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=6442450946, |~#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 #320#return; VAL [main_~x~0=6442450966.0, main_~y~0=6442450964.0, |#NULL.base|=0, |#NULL.offset|=0, |main_#t~ret48|=6442450949.0, |~#aT_atan~0.base|=6442450955, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=6442450957, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=6442450946, |~#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~ret48;havoc #t~ret48; VAL [main_~res~0=6442450949.0, main_~x~0=6442450966.0, main_~y~0=6442450964.0, |#NULL.base|=0, |#NULL.offset|=0, |~#aT_atan~0.base|=6442450955, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=6442450957, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=6442450946, |~#atanlo_atan~0.offset|=0, ~huge_atan~0=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0, ~one_atan~0=1.0, ~pi_lo_atan2~0=(/ 3061616997868382943.0 25000000000000000000000000000000000.0), ~pi_o_2~0=(/ 785398163397448279.0 500000000000000000.0), ~pi_o_4~0=(/ 785398163397448279.0 1000000000000000000.0), ~pi~0=(/ 785398163397448279.0 250000000000000000.0), ~tiny_atan2~0=(/ 1.0 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0), ~zero_atan2~0=0.0] [?] assume ~someBinaryDOUBLEComparisonOperation(~res~0, ~pi_o_4~0); VAL [main_~res~0=6442450949.0, main_~x~0=6442450966.0, main_~y~0=6442450964.0, |#NULL.base|=0, |#NULL.offset|=0, |~#aT_atan~0.base|=6442450955, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=6442450957, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=6442450946, |~#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=6442450949.0, main_~x~0=6442450966.0, main_~y~0=6442450964.0, |#NULL.base|=0, |#NULL.offset|=0, |~#aT_atan~0.base|=6442450955, |~#aT_atan~0.offset|=0, |~#atanhi_atan~0.base|=6442450957, |~#atanhi_atan~0.offset|=0, |~#atanlo_atan~0.base|=6442450946, |~#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=6442450969, #NULL.offset=6442450962, old(#NULL.base)=6442450969, old(#NULL.offset)=6442450962, old(~#aT_atan~0.base)=6442450954, old(~#aT_atan~0.offset)=6442450960, old(~#atanhi_atan~0.base)=6442450956, old(~#atanhi_atan~0.offset)=6442450965, old(~#atanlo_atan~0.base)=6442450951, old(~#atanlo_atan~0.offset)=6442450975, old(~huge_atan~0)=6.442450971E9, old(~one_atan~0)=6.442450961E9, old(~pi_lo_atan2~0)=6.442450959E9, old(~pi_o_2~0)=6.442450945E9, old(~pi_o_4~0)=6.442450963E9, old(~pi~0)=6.442450967E9, old(~tiny_atan2~0)=6.442450974E9, old(~zero_atan2~0)=6.442450953E9, ~#aT_atan~0.base=6442450954, ~#aT_atan~0.offset=6442450960, ~#atanhi_atan~0.base=6442450956, ~#atanhi_atan~0.offset=6442450965, ~#atanlo_atan~0.base=6442450951, ~#atanlo_atan~0.offset=6442450975, ~huge_atan~0=6.442450971E9, ~one_atan~0=6.442450961E9, ~pi_lo_atan2~0=6.442450959E9, ~pi_o_2~0=6.442450945E9, ~pi_o_4~0=6.442450963E9, ~pi~0=6.442450967E9, ~tiny_atan2~0=6.442450974E9, ~zero_atan2~0=6.442450953E9] [?] #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)=6442450969, old(#NULL.offset)=6442450962, old(~#aT_atan~0.base)=6442450954, old(~#aT_atan~0.offset)=6442450960, old(~#atanhi_atan~0.base)=6442450956, old(~#atanhi_atan~0.offset)=6442450965, old(~#atanlo_atan~0.base)=6442450951, old(~#atanlo_atan~0.offset)=6442450975, old(~huge_atan~0)=6.442450971E9, old(~one_atan~0)=6.442450961E9, old(~pi_lo_atan2~0)=6.442450959E9, old(~pi_o_2~0)=6.442450945E9, old(~pi_o_4~0)=6.442450963E9, old(~pi~0)=6.442450967E9, old(~tiny_atan2~0)=6.442450974E9, old(~zero_atan2~0)=6.442450953E9, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#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)=6442450969, old(#NULL.offset)=6442450962, old(~#aT_atan~0.base)=6442450954, old(~#aT_atan~0.offset)=6442450960, old(~#atanhi_atan~0.base)=6442450956, old(~#atanhi_atan~0.offset)=6442450965, old(~#atanlo_atan~0.base)=6442450951, old(~#atanlo_atan~0.offset)=6442450975, old(~huge_atan~0)=6.442450971E9, old(~one_atan~0)=6.442450961E9, old(~pi_lo_atan2~0)=6.442450959E9, old(~pi_o_2~0)=6.442450945E9, old(~pi_o_4~0)=6.442450963E9, old(~pi~0)=6.442450967E9, old(~tiny_atan2~0)=6.442450974E9, old(~zero_atan2~0)=6.442450953E9, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#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=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#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~ret49 := main(); VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L250] ~x~0 := ~someBinaryArithmeticDOUBLEoperation(1.0, 0.0); [L251] ~y~0 := ~someBinaryArithmeticDOUBLEoperation(1.0, 0.0); VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#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] CALL call #t~ret48 := __ieee754_atan2(~y~0, ~x~0); VAL [#in~x=6.442450966E9, #in~y=6.442450964E9, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#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=6.442450966E9, #in~y=6.442450964E9, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#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=6.442450966E9, ~y=6.442450964E9, ~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~union28; [L150] havoc #t~mem27; [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~union30; [L151] havoc #t~mem29; [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=6.442450966E9, #in~y=6.442450964E9, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=3, ~lx~0=6442450968, ~one_atan~0=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=6.442450966E9, ~y=6.442450964E9, ~zero_atan2~0=0.0] [L153] ~ix~1 := ~bitwiseAnd(~hx~1, 2147483647); VAL [#in~x=6.442450966E9, #in~y=6.442450964E9, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=3, ~lx~0=6442450968, ~one_atan~0=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=6.442450966E9, ~y=6.442450964E9, ~zero_atan2~0=0.0] [L155] call ~#ew_u~1.base, ~#ew_u~1.offset := #Ultimate.alloc(8); [L156] call write~real(~y, ~#ew_u~1.base, ~#ew_u~1.offset, 8); [L157] call #t~mem31 := read~int(~#ew_u~1.base, 4 + ~#ew_u~1.offset, 4); [L157] ~hy~0 := (if #t~mem31 % 4294967296 % 4294967296 <= 2147483647 then #t~mem31 % 4294967296 % 4294967296 else #t~mem31 % 4294967296 % 4294967296 - 4294967296); [L157] call write~real(#t~union32, ~#ew_u~1.base, ~#ew_u~1.offset, 8); [L157] havoc #t~mem31; [L157] havoc #t~union32; [L158] call #t~mem33 := read~int(~#ew_u~1.base, ~#ew_u~1.offset, 4); [L158] ~ly~0 := #t~mem33; [L158] call write~real(#t~union34, ~#ew_u~1.base, ~#ew_u~1.offset, 8); [L158] havoc #t~union34; [L158] havoc #t~mem33; [L155] call ULTIMATE.dealloc(~#ew_u~1.base, ~#ew_u~1.offset); [L155] havoc ~#ew_u~1.base, ~#ew_u~1.offset; VAL [#in~x=6.442450966E9, #in~y=6.442450964E9, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=3, ~hy~0=-2147483648, ~lx~0=6442450968, ~ly~0=6442450952, ~one_atan~0=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=6.442450966E9, ~y=6.442450964E9, ~zero_atan2~0=0.0] [L160] ~iy~0 := ~bitwiseAnd(~hy~0, 2147483647); VAL [#in~x=6.442450966E9, #in~y=6.442450964E9, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=3, ~hy~0=-2147483648, ~lx~0=6442450968, ~ly~0=6442450952, ~one_atan~0=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=6.442450966E9, ~y=6.442450964E9, ~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=6.442450966E9, #in~y=6.442450964E9, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=3, ~hy~0=-2147483648, ~lx~0=6442450968, ~ly~0=6442450952, ~one_atan~0=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=6.442450966E9, ~y=6.442450964E9, ~zero_atan2~0=0.0] [L142-L242] ensures true; VAL [#in~x=6.442450966E9, #in~y=6.442450964E9, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=3, ~hy~0=-2147483648, ~lx~0=6442450968, ~ly~0=6442450952, ~one_atan~0=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=6.442450966E9, ~y=6.442450964E9, ~zero_atan2~0=0.0] [L253] RET call #t~ret48 := __ieee754_atan2(~y~0, ~x~0); VAL [#NULL.base=0, #NULL.offset=0, #t~ret48=6.442450949E9, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#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=6.442450966E9, ~y~0=6.442450964E9, ~zero_atan2~0=0.0] [L253] ~res~0 := #t~ret48; [L253] havoc #t~ret48; VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#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=6.442450949E9, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=6.442450966E9, ~y~0=6.442450964E9, ~zero_atan2~0=0.0] [L255-L258] assume ~someBinaryDOUBLEComparisonOperation(~res~0, ~pi_o_4~0); VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#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=6.442450949E9, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=6.442450966E9, ~y~0=6.442450964E9, ~zero_atan2~0=0.0] [L256] assert false; VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#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=6.442450949E9, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=6.442450966E9, ~y~0=6.442450964E9, ~zero_atan2~0=0.0] ----- ----- class de.uni_freiburg.informatik.ultimate.boogie.preprocessor.BoogiePreprocessorBacktranslator [?] CALL call ULTIMATE.init(); VAL [#NULL.base=6442450969, #NULL.offset=6442450962, old(#NULL.base)=6442450969, old(#NULL.offset)=6442450962, old(~#aT_atan~0.base)=6442450954, old(~#aT_atan~0.offset)=6442450960, old(~#atanhi_atan~0.base)=6442450956, old(~#atanhi_atan~0.offset)=6442450965, old(~#atanlo_atan~0.base)=6442450951, old(~#atanlo_atan~0.offset)=6442450975, old(~huge_atan~0)=6.442450971E9, old(~one_atan~0)=6.442450961E9, old(~pi_lo_atan2~0)=6.442450959E9, old(~pi_o_2~0)=6.442450945E9, old(~pi_o_4~0)=6.442450963E9, old(~pi~0)=6.442450967E9, old(~tiny_atan2~0)=6.442450974E9, old(~zero_atan2~0)=6.442450953E9, ~#aT_atan~0.base=6442450954, ~#aT_atan~0.offset=6442450960, ~#atanhi_atan~0.base=6442450956, ~#atanhi_atan~0.offset=6442450965, ~#atanlo_atan~0.base=6442450951, ~#atanlo_atan~0.offset=6442450975, ~huge_atan~0=6.442450971E9, ~one_atan~0=6.442450961E9, ~pi_lo_atan2~0=6.442450959E9, ~pi_o_2~0=6.442450945E9, ~pi_o_4~0=6.442450963E9, ~pi~0=6.442450967E9, ~tiny_atan2~0=6.442450974E9, ~zero_atan2~0=6.442450953E9] [?] #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)=6442450969, old(#NULL.offset)=6442450962, old(~#aT_atan~0.base)=6442450954, old(~#aT_atan~0.offset)=6442450960, old(~#atanhi_atan~0.base)=6442450956, old(~#atanhi_atan~0.offset)=6442450965, old(~#atanlo_atan~0.base)=6442450951, old(~#atanlo_atan~0.offset)=6442450975, old(~huge_atan~0)=6.442450971E9, old(~one_atan~0)=6.442450961E9, old(~pi_lo_atan2~0)=6.442450959E9, old(~pi_o_2~0)=6.442450945E9, old(~pi_o_4~0)=6.442450963E9, old(~pi~0)=6.442450967E9, old(~tiny_atan2~0)=6.442450974E9, old(~zero_atan2~0)=6.442450953E9, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#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)=6442450969, old(#NULL.offset)=6442450962, old(~#aT_atan~0.base)=6442450954, old(~#aT_atan~0.offset)=6442450960, old(~#atanhi_atan~0.base)=6442450956, old(~#atanhi_atan~0.offset)=6442450965, old(~#atanlo_atan~0.base)=6442450951, old(~#atanlo_atan~0.offset)=6442450975, old(~huge_atan~0)=6.442450971E9, old(~one_atan~0)=6.442450961E9, old(~pi_lo_atan2~0)=6.442450959E9, old(~pi_o_2~0)=6.442450945E9, old(~pi_o_4~0)=6.442450963E9, old(~pi~0)=6.442450967E9, old(~tiny_atan2~0)=6.442450974E9, old(~zero_atan2~0)=6.442450953E9, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#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=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#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~ret49 := main(); VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L250] ~x~0 := ~someBinaryArithmeticDOUBLEoperation(1.0, 0.0); [L251] ~y~0 := ~someBinaryArithmeticDOUBLEoperation(1.0, 0.0); VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#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] CALL call #t~ret48 := __ieee754_atan2(~y~0, ~x~0); VAL [#in~x=6.442450966E9, #in~y=6.442450964E9, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#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=6.442450966E9, #in~y=6.442450964E9, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#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=6.442450966E9, ~y=6.442450964E9, ~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~union28; [L150] havoc #t~mem27; [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~union30; [L151] havoc #t~mem29; [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=6.442450966E9, #in~y=6.442450964E9, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=3, ~lx~0=6442450968, ~one_atan~0=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=6.442450966E9, ~y=6.442450964E9, ~zero_atan2~0=0.0] [L153] ~ix~1 := ~bitwiseAnd(~hx~1, 2147483647); VAL [#in~x=6.442450966E9, #in~y=6.442450964E9, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=3, ~lx~0=6442450968, ~one_atan~0=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=6.442450966E9, ~y=6.442450964E9, ~zero_atan2~0=0.0] [L155] call ~#ew_u~1.base, ~#ew_u~1.offset := #Ultimate.alloc(8); [L156] call write~real(~y, ~#ew_u~1.base, ~#ew_u~1.offset, 8); [L157] call #t~mem31 := read~int(~#ew_u~1.base, 4 + ~#ew_u~1.offset, 4); [L157] ~hy~0 := (if #t~mem31 % 4294967296 % 4294967296 <= 2147483647 then #t~mem31 % 4294967296 % 4294967296 else #t~mem31 % 4294967296 % 4294967296 - 4294967296); [L157] call write~real(#t~union32, ~#ew_u~1.base, ~#ew_u~1.offset, 8); [L157] havoc #t~mem31; [L157] havoc #t~union32; [L158] call #t~mem33 := read~int(~#ew_u~1.base, ~#ew_u~1.offset, 4); [L158] ~ly~0 := #t~mem33; [L158] call write~real(#t~union34, ~#ew_u~1.base, ~#ew_u~1.offset, 8); [L158] havoc #t~union34; [L158] havoc #t~mem33; [L155] call ULTIMATE.dealloc(~#ew_u~1.base, ~#ew_u~1.offset); [L155] havoc ~#ew_u~1.base, ~#ew_u~1.offset; VAL [#in~x=6.442450966E9, #in~y=6.442450964E9, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=3, ~hy~0=-2147483648, ~lx~0=6442450968, ~ly~0=6442450952, ~one_atan~0=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=6.442450966E9, ~y=6.442450964E9, ~zero_atan2~0=0.0] [L160] ~iy~0 := ~bitwiseAnd(~hy~0, 2147483647); VAL [#in~x=6.442450966E9, #in~y=6.442450964E9, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=3, ~hy~0=-2147483648, ~lx~0=6442450968, ~ly~0=6442450952, ~one_atan~0=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=6.442450966E9, ~y=6.442450964E9, ~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=6.442450966E9, #in~y=6.442450964E9, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=3, ~hy~0=-2147483648, ~lx~0=6442450968, ~ly~0=6442450952, ~one_atan~0=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=6.442450966E9, ~y=6.442450964E9, ~zero_atan2~0=0.0] [L142-L242] ensures true; VAL [#in~x=6.442450966E9, #in~y=6.442450964E9, #NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#atanlo_atan~0.offset=0, ~huge_atan~0=1.0E300, ~hx~1=3, ~hy~0=-2147483648, ~lx~0=6442450968, ~ly~0=6442450952, ~one_atan~0=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=6.442450966E9, ~y=6.442450964E9, ~zero_atan2~0=0.0] [L253] RET call #t~ret48 := __ieee754_atan2(~y~0, ~x~0); VAL [#NULL.base=0, #NULL.offset=0, #t~ret48=6.442450949E9, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#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=6.442450966E9, ~y~0=6.442450964E9, ~zero_atan2~0=0.0] [L253] ~res~0 := #t~ret48; [L253] havoc #t~ret48; VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#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=6.442450949E9, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=6.442450966E9, ~y~0=6.442450964E9, ~zero_atan2~0=0.0] [L255-L258] assume ~someBinaryDOUBLEComparisonOperation(~res~0, ~pi_o_4~0); VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#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=6.442450949E9, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=6.442450966E9, ~y~0=6.442450964E9, ~zero_atan2~0=0.0] [L256] assert false; VAL [#NULL.base=0, #NULL.offset=0, ~#aT_atan~0.base=6442450955, ~#aT_atan~0.offset=0, ~#atanhi_atan~0.base=6442450957, ~#atanhi_atan~0.offset=0, ~#atanlo_atan~0.base=6442450946, ~#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=6.442450949E9, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=6.442450966E9, ~y~0=6.442450964E9, ~zero_atan2~0=0.0] [?] CALL call ULTIMATE.init(); VAL [#NULL!base=6442450969, #NULL!offset=6442450962, old(#NULL!base)=6442450969, old(#NULL!offset)=6442450962, old(~#aT_atan~0!base)=6442450954, old(~#aT_atan~0!offset)=6442450960, old(~#atanhi_atan~0!base)=6442450956, old(~#atanhi_atan~0!offset)=6442450965, old(~#atanlo_atan~0!base)=6442450951, old(~#atanlo_atan~0!offset)=6442450975, old(~huge_atan~0)=6.442450971E9, old(~one_atan~0)=6.442450961E9, old(~pi_lo_atan2~0)=6.442450959E9, old(~pi_o_2~0)=6.442450945E9, old(~pi_o_4~0)=6.442450963E9, old(~pi~0)=6.442450967E9, old(~tiny_atan2~0)=6.442450974E9, old(~zero_atan2~0)=6.442450953E9, ~#aT_atan~0!base=6442450954, ~#aT_atan~0!offset=6442450960, ~#atanhi_atan~0!base=6442450956, ~#atanhi_atan~0!offset=6442450965, ~#atanlo_atan~0!base=6442450951, ~#atanlo_atan~0!offset=6442450975, ~huge_atan~0=6.442450971E9, ~one_atan~0=6.442450961E9, ~pi_lo_atan2~0=6.442450959E9, ~pi_o_2~0=6.442450945E9, ~pi_o_4~0=6.442450963E9, ~pi~0=6.442450967E9, ~tiny_atan2~0=6.442450974E9, ~zero_atan2~0=6.442450953E9] [?] #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)=6442450969, old(#NULL!offset)=6442450962, old(~#aT_atan~0!base)=6442450954, old(~#aT_atan~0!offset)=6442450960, old(~#atanhi_atan~0!base)=6442450956, old(~#atanhi_atan~0!offset)=6442450965, old(~#atanlo_atan~0!base)=6442450951, old(~#atanlo_atan~0!offset)=6442450975, old(~huge_atan~0)=6.442450971E9, old(~one_atan~0)=6.442450961E9, old(~pi_lo_atan2~0)=6.442450959E9, old(~pi_o_2~0)=6.442450945E9, old(~pi_o_4~0)=6.442450963E9, old(~pi~0)=6.442450967E9, old(~tiny_atan2~0)=6.442450974E9, old(~zero_atan2~0)=6.442450953E9, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#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=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#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~ret49 := main(); VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L250] ~x~0 := ~someBinaryArithmeticDOUBLEoperation(1.0, 0.0); [L251] ~y~0 := ~someBinaryArithmeticDOUBLEoperation(1.0, 0.0); VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#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] CALL call #t~ret48 := __ieee754_atan2(~y~0, ~x~0); VAL [#in~x=6.442450966E9, #in~y=6.442450964E9, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#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=6.442450966E9, #in~y=6.442450964E9, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#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=6.442450966E9, ~y=6.442450964E9, ~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~union28; [L150] havoc #t~mem27; [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~union30; [L151] havoc #t~mem29; [L148] FCALL call ULTIMATE.dealloc(~#ew_u~0); [L148] havoc ~#ew_u~0; VAL [#in~x=6.442450966E9, #in~y=6.442450964E9, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=3, ~lx~0=6442450968, ~one_atan~0=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=6.442450966E9, ~y=6.442450964E9, ~zero_atan2~0=0.0] [L153] ~ix~1 := ~bitwiseAnd(~hx~1, 2147483647); VAL [#in~x=6.442450966E9, #in~y=6.442450964E9, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=3, ~lx~0=6442450968, ~one_atan~0=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=6.442450966E9, ~y=6.442450964E9, ~zero_atan2~0=0.0] [L155] FCALL call ~#ew_u~1 := #Ultimate.alloc(8); [L156] FCALL call write~real(~y, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L157] FCALL call #t~mem31 := read~int({ base: ~#ew_u~1!base, offset: 4 + ~#ew_u~1!offset }, 4); [L157] ~hy~0 := (if #t~mem31 % 4294967296 % 4294967296 <= 2147483647 then #t~mem31 % 4294967296 % 4294967296 else #t~mem31 % 4294967296 % 4294967296 - 4294967296); [L157] FCALL call write~real(#t~union32, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L157] havoc #t~mem31; [L157] havoc #t~union32; [L158] FCALL call #t~mem33 := read~int({ base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 4); [L158] ~ly~0 := #t~mem33; [L158] FCALL call write~real(#t~union34, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L158] havoc #t~union34; [L158] havoc #t~mem33; [L155] FCALL call ULTIMATE.dealloc(~#ew_u~1); [L155] havoc ~#ew_u~1; VAL [#in~x=6.442450966E9, #in~y=6.442450964E9, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=3, ~hy~0=-2147483648, ~lx~0=6442450968, ~ly~0=6442450952, ~one_atan~0=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=6.442450966E9, ~y=6.442450964E9, ~zero_atan2~0=0.0] [L160] ~iy~0 := ~bitwiseAnd(~hy~0, 2147483647); VAL [#in~x=6.442450966E9, #in~y=6.442450964E9, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=3, ~hy~0=-2147483648, ~lx~0=6442450968, ~ly~0=6442450952, ~one_atan~0=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=6.442450966E9, ~y=6.442450964E9, ~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=6.442450966E9, #in~y=6.442450964E9, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=3, ~hy~0=-2147483648, ~lx~0=6442450968, ~ly~0=6442450952, ~one_atan~0=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=6.442450966E9, ~y=6.442450964E9, ~zero_atan2~0=0.0] [L253] RET call #t~ret48 := __ieee754_atan2(~y~0, ~x~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret48=6.442450949E9, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#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=6.442450966E9, ~y~0=6.442450964E9, ~zero_atan2~0=0.0] [L253] ~res~0 := #t~ret48; [L253] havoc #t~ret48; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#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=6.442450949E9, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=6.442450966E9, ~y~0=6.442450964E9, ~zero_atan2~0=0.0] [L255] COND TRUE ~someBinaryDOUBLEComparisonOperation(~res~0, ~pi_o_4~0) VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#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=6.442450949E9, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=6.442450966E9, ~y~0=6.442450964E9, ~zero_atan2~0=0.0] [L256] assert false; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#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=6.442450949E9, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=6.442450966E9, ~y~0=6.442450964E9, ~zero_atan2~0=0.0] ----- ----- class de.uni_freiburg.informatik.ultimate.boogie.procedureinliner.backtranslation.InlinerBacktranslator [?] CALL call ULTIMATE.init(); VAL [#NULL!base=6442450969, #NULL!offset=6442450962, old(#NULL!base)=6442450969, old(#NULL!offset)=6442450962, old(~#aT_atan~0!base)=6442450954, old(~#aT_atan~0!offset)=6442450960, old(~#atanhi_atan~0!base)=6442450956, old(~#atanhi_atan~0!offset)=6442450965, old(~#atanlo_atan~0!base)=6442450951, old(~#atanlo_atan~0!offset)=6442450975, old(~huge_atan~0)=6.442450971E9, old(~one_atan~0)=6.442450961E9, old(~pi_lo_atan2~0)=6.442450959E9, old(~pi_o_2~0)=6.442450945E9, old(~pi_o_4~0)=6.442450963E9, old(~pi~0)=6.442450967E9, old(~tiny_atan2~0)=6.442450974E9, old(~zero_atan2~0)=6.442450953E9, ~#aT_atan~0!base=6442450954, ~#aT_atan~0!offset=6442450960, ~#atanhi_atan~0!base=6442450956, ~#atanhi_atan~0!offset=6442450965, ~#atanlo_atan~0!base=6442450951, ~#atanlo_atan~0!offset=6442450975, ~huge_atan~0=6.442450971E9, ~one_atan~0=6.442450961E9, ~pi_lo_atan2~0=6.442450959E9, ~pi_o_2~0=6.442450945E9, ~pi_o_4~0=6.442450963E9, ~pi~0=6.442450967E9, ~tiny_atan2~0=6.442450974E9, ~zero_atan2~0=6.442450953E9] [?] #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)=6442450969, old(#NULL!offset)=6442450962, old(~#aT_atan~0!base)=6442450954, old(~#aT_atan~0!offset)=6442450960, old(~#atanhi_atan~0!base)=6442450956, old(~#atanhi_atan~0!offset)=6442450965, old(~#atanlo_atan~0!base)=6442450951, old(~#atanlo_atan~0!offset)=6442450975, old(~huge_atan~0)=6.442450971E9, old(~one_atan~0)=6.442450961E9, old(~pi_lo_atan2~0)=6.442450959E9, old(~pi_o_2~0)=6.442450945E9, old(~pi_o_4~0)=6.442450963E9, old(~pi~0)=6.442450967E9, old(~tiny_atan2~0)=6.442450974E9, old(~zero_atan2~0)=6.442450953E9, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#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=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#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~ret49 := main(); VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L250] ~x~0 := ~someBinaryArithmeticDOUBLEoperation(1.0, 0.0); [L251] ~y~0 := ~someBinaryArithmeticDOUBLEoperation(1.0, 0.0); VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#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] CALL call #t~ret48 := __ieee754_atan2(~y~0, ~x~0); VAL [#in~x=6.442450966E9, #in~y=6.442450964E9, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#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=6.442450966E9, #in~y=6.442450964E9, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#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=6.442450966E9, ~y=6.442450964E9, ~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~union28; [L150] havoc #t~mem27; [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~union30; [L151] havoc #t~mem29; [L148] FCALL call ULTIMATE.dealloc(~#ew_u~0); [L148] havoc ~#ew_u~0; VAL [#in~x=6.442450966E9, #in~y=6.442450964E9, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=3, ~lx~0=6442450968, ~one_atan~0=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=6.442450966E9, ~y=6.442450964E9, ~zero_atan2~0=0.0] [L153] ~ix~1 := ~bitwiseAnd(~hx~1, 2147483647); VAL [#in~x=6.442450966E9, #in~y=6.442450964E9, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=3, ~lx~0=6442450968, ~one_atan~0=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=6.442450966E9, ~y=6.442450964E9, ~zero_atan2~0=0.0] [L155] FCALL call ~#ew_u~1 := #Ultimate.alloc(8); [L156] FCALL call write~real(~y, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L157] FCALL call #t~mem31 := read~int({ base: ~#ew_u~1!base, offset: 4 + ~#ew_u~1!offset }, 4); [L157] ~hy~0 := (if #t~mem31 % 4294967296 % 4294967296 <= 2147483647 then #t~mem31 % 4294967296 % 4294967296 else #t~mem31 % 4294967296 % 4294967296 - 4294967296); [L157] FCALL call write~real(#t~union32, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L157] havoc #t~mem31; [L157] havoc #t~union32; [L158] FCALL call #t~mem33 := read~int({ base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 4); [L158] ~ly~0 := #t~mem33; [L158] FCALL call write~real(#t~union34, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L158] havoc #t~union34; [L158] havoc #t~mem33; [L155] FCALL call ULTIMATE.dealloc(~#ew_u~1); [L155] havoc ~#ew_u~1; VAL [#in~x=6.442450966E9, #in~y=6.442450964E9, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=3, ~hy~0=-2147483648, ~lx~0=6442450968, ~ly~0=6442450952, ~one_atan~0=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=6.442450966E9, ~y=6.442450964E9, ~zero_atan2~0=0.0] [L160] ~iy~0 := ~bitwiseAnd(~hy~0, 2147483647); VAL [#in~x=6.442450966E9, #in~y=6.442450964E9, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=3, ~hy~0=-2147483648, ~lx~0=6442450968, ~ly~0=6442450952, ~one_atan~0=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=6.442450966E9, ~y=6.442450964E9, ~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=6.442450966E9, #in~y=6.442450964E9, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=3, ~hy~0=-2147483648, ~lx~0=6442450968, ~ly~0=6442450952, ~one_atan~0=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=6.442450966E9, ~y=6.442450964E9, ~zero_atan2~0=0.0] [L253] RET call #t~ret48 := __ieee754_atan2(~y~0, ~x~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret48=6.442450949E9, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#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=6.442450966E9, ~y~0=6.442450964E9, ~zero_atan2~0=0.0] [L253] ~res~0 := #t~ret48; [L253] havoc #t~ret48; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#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=6.442450949E9, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=6.442450966E9, ~y~0=6.442450964E9, ~zero_atan2~0=0.0] [L255] COND TRUE ~someBinaryDOUBLEComparisonOperation(~res~0, ~pi_o_4~0) VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#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=6.442450949E9, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=6.442450966E9, ~y~0=6.442450964E9, ~zero_atan2~0=0.0] [L256] assert false; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#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=6.442450949E9, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=6.442450966E9, ~y~0=6.442450964E9, ~zero_atan2~0=0.0] [?] CALL call ULTIMATE.init(); VAL [#NULL!base=6442450969, #NULL!offset=6442450962, old(#NULL!base)=6442450969, old(#NULL!offset)=6442450962, old(~#aT_atan~0!base)=6442450954, old(~#aT_atan~0!offset)=6442450960, old(~#atanhi_atan~0!base)=6442450956, old(~#atanhi_atan~0!offset)=6442450965, old(~#atanlo_atan~0!base)=6442450951, old(~#atanlo_atan~0!offset)=6442450975, old(~huge_atan~0)=6.442450971E9, old(~one_atan~0)=6.442450961E9, old(~pi_lo_atan2~0)=6.442450959E9, old(~pi_o_2~0)=6.442450945E9, old(~pi_o_4~0)=6.442450963E9, old(~pi~0)=6.442450967E9, old(~tiny_atan2~0)=6.442450974E9, old(~zero_atan2~0)=6.442450953E9, ~#aT_atan~0!base=6442450954, ~#aT_atan~0!offset=6442450960, ~#atanhi_atan~0!base=6442450956, ~#atanhi_atan~0!offset=6442450965, ~#atanlo_atan~0!base=6442450951, ~#atanlo_atan~0!offset=6442450975, ~huge_atan~0=6.442450971E9, ~one_atan~0=6.442450961E9, ~pi_lo_atan2~0=6.442450959E9, ~pi_o_2~0=6.442450945E9, ~pi_o_4~0=6.442450963E9, ~pi~0=6.442450967E9, ~tiny_atan2~0=6.442450974E9, ~zero_atan2~0=6.442450953E9] [?] #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)=6442450969, old(#NULL!offset)=6442450962, old(~#aT_atan~0!base)=6442450954, old(~#aT_atan~0!offset)=6442450960, old(~#atanhi_atan~0!base)=6442450956, old(~#atanhi_atan~0!offset)=6442450965, old(~#atanlo_atan~0!base)=6442450951, old(~#atanlo_atan~0!offset)=6442450975, old(~huge_atan~0)=6.442450971E9, old(~one_atan~0)=6.442450961E9, old(~pi_lo_atan2~0)=6.442450959E9, old(~pi_o_2~0)=6.442450945E9, old(~pi_o_4~0)=6.442450963E9, old(~pi~0)=6.442450967E9, old(~tiny_atan2~0)=6.442450974E9, old(~zero_atan2~0)=6.442450953E9, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#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=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#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~ret49 := main(); VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L250] ~x~0 := ~someBinaryArithmeticDOUBLEoperation(1.0, 0.0); [L251] ~y~0 := ~someBinaryArithmeticDOUBLEoperation(1.0, 0.0); VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#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] CALL call #t~ret48 := __ieee754_atan2(~y~0, ~x~0); VAL [#in~x=6.442450966E9, #in~y=6.442450964E9, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#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=6.442450966E9, #in~y=6.442450964E9, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#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=6.442450966E9, ~y=6.442450964E9, ~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~union28; [L150] havoc #t~mem27; [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~union30; [L151] havoc #t~mem29; [L148] FCALL call ULTIMATE.dealloc(~#ew_u~0); [L148] havoc ~#ew_u~0; VAL [#in~x=6.442450966E9, #in~y=6.442450964E9, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=3, ~lx~0=6442450968, ~one_atan~0=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=6.442450966E9, ~y=6.442450964E9, ~zero_atan2~0=0.0] [L153] ~ix~1 := ~bitwiseAnd(~hx~1, 2147483647); VAL [#in~x=6.442450966E9, #in~y=6.442450964E9, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=3, ~lx~0=6442450968, ~one_atan~0=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=6.442450966E9, ~y=6.442450964E9, ~zero_atan2~0=0.0] [L155] FCALL call ~#ew_u~1 := #Ultimate.alloc(8); [L156] FCALL call write~real(~y, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L157] FCALL call #t~mem31 := read~int({ base: ~#ew_u~1!base, offset: 4 + ~#ew_u~1!offset }, 4); [L157] ~hy~0 := (if #t~mem31 % 4294967296 % 4294967296 <= 2147483647 then #t~mem31 % 4294967296 % 4294967296 else #t~mem31 % 4294967296 % 4294967296 - 4294967296); [L157] FCALL call write~real(#t~union32, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L157] havoc #t~mem31; [L157] havoc #t~union32; [L158] FCALL call #t~mem33 := read~int({ base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 4); [L158] ~ly~0 := #t~mem33; [L158] FCALL call write~real(#t~union34, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L158] havoc #t~union34; [L158] havoc #t~mem33; [L155] FCALL call ULTIMATE.dealloc(~#ew_u~1); [L155] havoc ~#ew_u~1; VAL [#in~x=6.442450966E9, #in~y=6.442450964E9, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=3, ~hy~0=-2147483648, ~lx~0=6442450968, ~ly~0=6442450952, ~one_atan~0=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=6.442450966E9, ~y=6.442450964E9, ~zero_atan2~0=0.0] [L160] ~iy~0 := ~bitwiseAnd(~hy~0, 2147483647); VAL [#in~x=6.442450966E9, #in~y=6.442450964E9, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=3, ~hy~0=-2147483648, ~lx~0=6442450968, ~ly~0=6442450952, ~one_atan~0=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=6.442450966E9, ~y=6.442450964E9, ~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=6.442450966E9, #in~y=6.442450964E9, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=3, ~hy~0=-2147483648, ~lx~0=6442450968, ~ly~0=6442450952, ~one_atan~0=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=6.442450966E9, ~y=6.442450964E9, ~zero_atan2~0=0.0] [L253] RET call #t~ret48 := __ieee754_atan2(~y~0, ~x~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret48=6.442450949E9, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#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=6.442450966E9, ~y~0=6.442450964E9, ~zero_atan2~0=0.0] [L253] ~res~0 := #t~ret48; [L253] havoc #t~ret48; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#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=6.442450949E9, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=6.442450966E9, ~y~0=6.442450964E9, ~zero_atan2~0=0.0] [L255] COND TRUE ~someBinaryDOUBLEComparisonOperation(~res~0, ~pi_o_4~0) VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#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=6.442450949E9, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=6.442450966E9, ~y~0=6.442450964E9, ~zero_atan2~0=0.0] [L256] assert false; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#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=6.442450949E9, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=6.442450966E9, ~y~0=6.442450964E9, ~zero_atan2~0=0.0] ----- [2018-11-22 22:39:51,960 WARN L1272 BoogieBacktranslator]: Unfinished Backtranslation: IntegerLiteral 6442450951 could not be translated for associated CType ARRAY#_4_~DOUBLE# [2018-11-22 22:39:51,961 WARN L1272 BoogieBacktranslator]: Unfinished Backtranslation: IntegerLiteral 6442450956 could not be translated for associated CType ARRAY#_4_~DOUBLE# [2018-11-22 22:39:51,961 WARN L1272 BoogieBacktranslator]: Unfinished Backtranslation: IntegerLiteral 6442450965 could not be translated for associated CType ARRAY#_4_~DOUBLE# [2018-11-22 22:39:51,962 WARN L1272 BoogieBacktranslator]: Unfinished Backtranslation: IntegerLiteral 6442450954 could not be translated for associated CType ARRAY#_11_~DOUBLE# [2018-11-22 22:39:51,962 WARN L1272 BoogieBacktranslator]: Unfinished Backtranslation: IntegerLiteral 6442450975 could not be translated for associated CType ARRAY#_4_~DOUBLE# [2018-11-22 22:39:51,962 WARN L1272 BoogieBacktranslator]: Unfinished Backtranslation: IntegerLiteral 6442450960 could not be translated for associated CType ARRAY#_11_~DOUBLE# ----- class de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.CACSL2BoogieBacktranslator [?] CALL call ULTIMATE.init(); VAL [#NULL!base=6442450969, #NULL!offset=6442450962, old(#NULL!base)=6442450969, old(#NULL!offset)=6442450962, old(~#aT_atan~0!base)=6442450954, old(~#aT_atan~0!offset)=6442450960, old(~#atanhi_atan~0!base)=6442450956, old(~#atanhi_atan~0!offset)=6442450965, old(~#atanlo_atan~0!base)=6442450951, old(~#atanlo_atan~0!offset)=6442450975, old(~huge_atan~0)=6.442450971E9, old(~one_atan~0)=6.442450961E9, old(~pi_lo_atan2~0)=6.442450959E9, old(~pi_o_2~0)=6.442450945E9, old(~pi_o_4~0)=6.442450963E9, old(~pi~0)=6.442450967E9, old(~tiny_atan2~0)=6.442450974E9, old(~zero_atan2~0)=6.442450953E9, ~#aT_atan~0!base=6442450954, ~#aT_atan~0!offset=6442450960, ~#atanhi_atan~0!base=6442450956, ~#atanhi_atan~0!offset=6442450965, ~#atanlo_atan~0!base=6442450951, ~#atanlo_atan~0!offset=6442450975, ~huge_atan~0=6.442450971E9, ~one_atan~0=6.442450961E9, ~pi_lo_atan2~0=6.442450959E9, ~pi_o_2~0=6.442450945E9, ~pi_o_4~0=6.442450963E9, ~pi~0=6.442450967E9, ~tiny_atan2~0=6.442450974E9, ~zero_atan2~0=6.442450953E9] [?] #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)=6442450969, old(#NULL!offset)=6442450962, old(~#aT_atan~0!base)=6442450954, old(~#aT_atan~0!offset)=6442450960, old(~#atanhi_atan~0!base)=6442450956, old(~#atanhi_atan~0!offset)=6442450965, old(~#atanlo_atan~0!base)=6442450951, old(~#atanlo_atan~0!offset)=6442450975, old(~huge_atan~0)=6.442450971E9, old(~one_atan~0)=6.442450961E9, old(~pi_lo_atan2~0)=6.442450959E9, old(~pi_o_2~0)=6.442450945E9, old(~pi_o_4~0)=6.442450963E9, old(~pi~0)=6.442450967E9, old(~tiny_atan2~0)=6.442450974E9, old(~zero_atan2~0)=6.442450953E9, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#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=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#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~ret49 := main(); VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~one_atan~0=1.0, ~pi_lo_atan2~0=3061616997868382943/25000000000000000000000000000000000, ~pi_o_2~0=785398163397448279/500000000000000000, ~pi_o_4~0=785398163397448279/1000000000000000000, ~pi~0=785398163397448279/250000000000000000, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~zero_atan2~0=0.0] [L250] ~x~0 := ~someBinaryArithmeticDOUBLEoperation(1.0, 0.0); [L251] ~y~0 := ~someBinaryArithmeticDOUBLEoperation(1.0, 0.0); VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#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] CALL call #t~ret48 := __ieee754_atan2(~y~0, ~x~0); VAL [#in~x=6.442450966E9, #in~y=6.442450964E9, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#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=6.442450966E9, #in~y=6.442450964E9, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#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=6.442450966E9, ~y=6.442450964E9, ~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~union28; [L150] havoc #t~mem27; [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~union30; [L151] havoc #t~mem29; [L148] FCALL call ULTIMATE.dealloc(~#ew_u~0); [L148] havoc ~#ew_u~0; VAL [#in~x=6.442450966E9, #in~y=6.442450964E9, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=3, ~lx~0=6442450968, ~one_atan~0=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=6.442450966E9, ~y=6.442450964E9, ~zero_atan2~0=0.0] [L153] ~ix~1 := ~bitwiseAnd(~hx~1, 2147483647); VAL [#in~x=6.442450966E9, #in~y=6.442450964E9, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=3, ~lx~0=6442450968, ~one_atan~0=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=6.442450966E9, ~y=6.442450964E9, ~zero_atan2~0=0.0] [L155] FCALL call ~#ew_u~1 := #Ultimate.alloc(8); [L156] FCALL call write~real(~y, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L157] FCALL call #t~mem31 := read~int({ base: ~#ew_u~1!base, offset: 4 + ~#ew_u~1!offset }, 4); [L157] ~hy~0 := (if #t~mem31 % 4294967296 % 4294967296 <= 2147483647 then #t~mem31 % 4294967296 % 4294967296 else #t~mem31 % 4294967296 % 4294967296 - 4294967296); [L157] FCALL call write~real(#t~union32, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L157] havoc #t~mem31; [L157] havoc #t~union32; [L158] FCALL call #t~mem33 := read~int({ base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 4); [L158] ~ly~0 := #t~mem33; [L158] FCALL call write~real(#t~union34, { base: ~#ew_u~1!base, offset: ~#ew_u~1!offset }, 8); [L158] havoc #t~union34; [L158] havoc #t~mem33; [L155] FCALL call ULTIMATE.dealloc(~#ew_u~1); [L155] havoc ~#ew_u~1; VAL [#in~x=6.442450966E9, #in~y=6.442450964E9, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=3, ~hy~0=-2147483648, ~lx~0=6442450968, ~ly~0=6442450952, ~one_atan~0=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=6.442450966E9, ~y=6.442450964E9, ~zero_atan2~0=0.0] [L160] ~iy~0 := ~bitwiseAnd(~hy~0, 2147483647); VAL [#in~x=6.442450966E9, #in~y=6.442450964E9, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=3, ~hy~0=-2147483648, ~lx~0=6442450968, ~ly~0=6442450952, ~one_atan~0=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=6.442450966E9, ~y=6.442450964E9, ~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=6.442450966E9, #in~y=6.442450964E9, #NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#atanlo_atan~0!offset=0, ~huge_atan~0=1.0E300, ~hx~1=3, ~hy~0=-2147483648, ~lx~0=6442450968, ~ly~0=6442450952, ~one_atan~0=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=6.442450966E9, ~y=6.442450964E9, ~zero_atan2~0=0.0] [L253] RET call #t~ret48 := __ieee754_atan2(~y~0, ~x~0); VAL [#NULL!base=0, #NULL!offset=0, #t~ret48=6.442450949E9, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#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=6.442450966E9, ~y~0=6.442450964E9, ~zero_atan2~0=0.0] [L253] ~res~0 := #t~ret48; [L253] havoc #t~ret48; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#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=6.442450949E9, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=6.442450966E9, ~y~0=6.442450964E9, ~zero_atan2~0=0.0] [L255] COND TRUE ~someBinaryDOUBLEComparisonOperation(~res~0, ~pi_o_4~0) VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#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=6.442450949E9, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=6.442450966E9, ~y~0=6.442450964E9, ~zero_atan2~0=0.0] [L256] assert false; VAL [#NULL!base=0, #NULL!offset=0, ~#aT_atan~0!base=6442450955, ~#aT_atan~0!offset=0, ~#atanhi_atan~0!base=6442450957, ~#atanhi_atan~0!offset=0, ~#atanlo_atan~0!base=6442450946, ~#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=6.442450949E9, ~tiny_atan2~0=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, ~x~0=6.442450966E9, ~y~0=6.442450964E9, ~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)=6442450971, \old(one_atan)=6442450961, \old(pi)=6442450967, \old(pi_lo_atan2)=6442450959, \old(pi_o_2)=6442450945, \old(pi_o_4)=6442450963, \old(tiny_atan2)=6442450974, \old(zero_atan2)=6442450953, aT_atan={6442450955:0}, atanhi_atan={6442450957:0}, atanlo_atan={6442450946:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, zero_atan2=0] [L250] double x = 1.0 / 0.0; [L251] double y = 1.0 / 0.0; VAL [aT_atan={6442450955:0}, atanhi_atan={6442450957:0}, atanlo_atan={6442450946: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] CALL, EXPR __ieee754_atan2(y, x) VAL [\old(x)=6442450966, \old(y)=6442450964, aT_atan={6442450955:0}, atanhi_atan={6442450957:0}, atanlo_atan={6442450946: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)=6442450966, \old(y)=6442450964, aT_atan={6442450955:0}, atanhi_atan={6442450957:0}, atanlo_atan={6442450946: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=6442450966, y=6442450964, 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)=6442450966, \old(y)=6442450964, aT_atan={6442450955:0}, atanhi_atan={6442450957:0}, atanlo_atan={6442450946:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, hx=3, lx=6442450968, 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=6442450966, y=6442450964, 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)=6442450966, \old(y)=6442450964, aT_atan={6442450955:0}, atanhi_atan={6442450957:0}, atanlo_atan={6442450946:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, hx=3, hy=-2147483648, lx=6442450968, ly=6442450952, 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=6442450966, y=6442450964, zero_atan2=0] [L161-L162] COND TRUE ((ix | ((lx | -lx) >> 31)) > 0x7ff00000) || ((iy | ((ly | -ly) >> 31)) > 0x7ff00000) [L163] return x + y; VAL [\old(x)=6442450966, \old(y)=6442450964, aT_atan={6442450955:0}, atanhi_atan={6442450957:0}, atanlo_atan={6442450946:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, hx=3, hy=-2147483648, lx=6442450968, ly=6442450952, 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=6442450966, y=6442450964, zero_atan2=0] [L253] RET, EXPR __ieee754_atan2(y, x) VAL [__ieee754_atan2(y, x)=6442450949, aT_atan={6442450955:0}, atanhi_atan={6442450957:0}, atanlo_atan={6442450946: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=6442450966, y=6442450964, zero_atan2=0] [L253] double res = __ieee754_atan2(y, x); [L255] COND TRUE res != pi_o_4 VAL [aT_atan={6442450955:0}, atanhi_atan={6442450957:0}, atanlo_atan={6442450946: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=6442450949, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=6442450966, y=6442450964, zero_atan2=0] [L256] __VERIFIER_error() VAL [aT_atan={6442450955:0}, atanhi_atan={6442450957:0}, atanlo_atan={6442450946: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=6442450949, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=6442450966, y=6442450964, zero_atan2=0] ----- [2018-11-22 22:39:52,025 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 22.11 10:39:52 BoogieIcfgContainer [2018-11-22 22:39:52,026 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2018-11-22 22:39:52,026 INFO L113 PluginConnector]: ------------------------Witness Printer---------------------------- [2018-11-22 22:39:52,026 INFO L271 PluginConnector]: Initializing Witness Printer... [2018-11-22 22:39:52,026 INFO L276 PluginConnector]: Witness Printer initialized [2018-11-22 22:39:52,027 INFO L185 PluginConnector]: Executing the observer RCFGCatcher from plugin Witness Printer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 22.11 10:39:51" (3/4) ... [2018-11-22 22:39:52,030 INFO L147 WitnessPrinter]: No result that supports witness generation found [2018-11-22 22:39:52,030 INFO L132 PluginConnector]: ------------------------ END Witness Printer---------------------------- [2018-11-22 22:39:52,031 INFO L168 Benchmark]: Toolchain (without parser) took 1624.82 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 136.3 MB). Free memory was 958.2 MB in the beginning and 1.0 GB in the end (delta: -77.3 MB). Peak memory consumption was 59.0 MB. Max. memory is 11.5 GB. [2018-11-22 22:39:52,032 INFO L168 Benchmark]: CDTParser took 0.14 ms. Allocated memory is still 1.0 GB. Free memory is still 985.6 MB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-22 22:39:52,033 INFO L168 Benchmark]: CACSL2BoogieTranslator took 342.33 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 136.3 MB). Free memory was 958.2 MB in the beginning and 1.1 GB in the end (delta: -177.6 MB). Peak memory consumption was 34.7 MB. Max. memory is 11.5 GB. [2018-11-22 22:39:52,033 INFO L168 Benchmark]: Boogie Procedure Inliner took 22.92 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 22:39:52,034 INFO L168 Benchmark]: Boogie Preprocessor took 51.03 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 22:39:52,034 INFO L168 Benchmark]: RCFGBuilder took 530.30 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: 43.9 MB). Peak memory consumption was 43.9 MB. Max. memory is 11.5 GB. [2018-11-22 22:39:52,034 INFO L168 Benchmark]: TraceAbstraction took 670.47 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: 51.0 MB). Peak memory consumption was 51.0 MB. Max. memory is 11.5 GB. [2018-11-22 22:39:52,035 INFO L168 Benchmark]: Witness Printer took 4.16 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 22:39:52,039 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.14 ms. Allocated memory is still 1.0 GB. Free memory is still 985.6 MB. There was no memory consumed. Max. memory is 11.5 GB. * CACSL2BoogieTranslator took 342.33 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 136.3 MB). Free memory was 958.2 MB in the beginning and 1.1 GB in the end (delta: -177.6 MB). Peak memory consumption was 34.7 MB. Max. memory is 11.5 GB. * Boogie Procedure Inliner took 22.92 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 51.03 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 2.7 MB). Peak memory consumption was 2.7 MB. Max. memory is 11.5 GB. * RCFGBuilder took 530.30 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: 43.9 MB). Peak memory consumption was 43.9 MB. Max. memory is 11.5 GB. * TraceAbstraction took 670.47 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: 51.0 MB). Peak memory consumption was 51.0 MB. Max. memory is 11.5 GB. * Witness Printer took 4.16 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 6442450951 could not be translated for associated CType ARRAY#_4_~DOUBLE# - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: IntegerLiteral 6442450956 could not be translated for associated CType ARRAY#_4_~DOUBLE# - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: IntegerLiteral 6442450965 could not be translated for associated CType ARRAY#_4_~DOUBLE# - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: IntegerLiteral 6442450954 could not be translated for associated CType ARRAY#_11_~DOUBLE# - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: IntegerLiteral 6442450975 could not be translated for associated CType ARRAY#_4_~DOUBLE# - GenericResult: Unfinished Backtranslation Unfinished Backtranslation: IntegerLiteral 6442450960 could not be translated for associated CType ARRAY#_11_~DOUBLE# * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - UnprovableResult [Line: 256]: 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 someBinaryArithmeticDOUBLEoperation at line 163, overapproximation of bitwiseAnd at line 160, overapproximation of someBinaryDOUBLEComparisonOperation at line 255. 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)=6442450971, \old(one_atan)=6442450961, \old(pi)=6442450967, \old(pi_lo_atan2)=6442450959, \old(pi_o_2)=6442450945, \old(pi_o_4)=6442450963, \old(tiny_atan2)=6442450974, \old(zero_atan2)=6442450953, aT_atan={6442450955:0}, atanhi_atan={6442450957:0}, atanlo_atan={6442450946:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, one_atan=1, pi=785398163397448279/250000000000000000, pi_lo_atan2=3061616997868382943/25000000000000000000000000000000000, pi_o_2=785398163397448279/500000000000000000, pi_o_4=785398163397448279/1000000000000000000, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, zero_atan2=0] [L250] double x = 1.0 / 0.0; [L251] double y = 1.0 / 0.0; VAL [aT_atan={6442450955:0}, atanhi_atan={6442450957:0}, atanlo_atan={6442450946: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] CALL, EXPR __ieee754_atan2(y, x) VAL [\old(x)=6442450966, \old(y)=6442450964, aT_atan={6442450955:0}, atanhi_atan={6442450957:0}, atanlo_atan={6442450946: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)=6442450966, \old(y)=6442450964, aT_atan={6442450955:0}, atanhi_atan={6442450957:0}, atanlo_atan={6442450946: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=6442450966, y=6442450964, 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)=6442450966, \old(y)=6442450964, aT_atan={6442450955:0}, atanhi_atan={6442450957:0}, atanlo_atan={6442450946:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, hx=3, lx=6442450968, 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=6442450966, y=6442450964, 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)=6442450966, \old(y)=6442450964, aT_atan={6442450955:0}, atanhi_atan={6442450957:0}, atanlo_atan={6442450946:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, hx=3, hy=-2147483648, lx=6442450968, ly=6442450952, 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=6442450966, y=6442450964, zero_atan2=0] [L161-L162] COND TRUE ((ix | ((lx | -lx) >> 31)) > 0x7ff00000) || ((iy | ((ly | -ly) >> 31)) > 0x7ff00000) [L163] return x + y; VAL [\old(x)=6442450966, \old(y)=6442450964, aT_atan={6442450955:0}, atanhi_atan={6442450957:0}, atanlo_atan={6442450946:0}, huge_atan=1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, hx=3, hy=-2147483648, lx=6442450968, ly=6442450952, 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=6442450966, y=6442450964, zero_atan2=0] [L253] RET, EXPR __ieee754_atan2(y, x) VAL [__ieee754_atan2(y, x)=6442450949, aT_atan={6442450955:0}, atanhi_atan={6442450957:0}, atanlo_atan={6442450946: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=6442450966, y=6442450964, zero_atan2=0] [L253] double res = __ieee754_atan2(y, x); [L255] COND TRUE res != pi_o_4 VAL [aT_atan={6442450955:0}, atanhi_atan={6442450957:0}, atanlo_atan={6442450946: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=6442450949, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=6442450966, y=6442450964, zero_atan2=0] [L256] __VERIFIER_error() VAL [aT_atan={6442450955:0}, atanhi_atan={6442450957:0}, atanlo_atan={6442450946: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=6442450949, tiny_atan2=1/1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, x=6442450966, y=6442450964, zero_atan2=0] - StatisticsResult: Ultimate Automizer benchmark data CFG has 6 procedures, 101 locations, 1 error locations. UNSAFE Result, 0.6s OverallTime, 2 OverallIterations, 1 TraceHistogramMax, 0.0s AutomataDifference, 0.0s DeadEndRemovalTime, 0.0s HoareAnnotationTime, HoareTripleCheckerStatistics: 140 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=101occurred 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, 38 NumberOfCodeBlocks, 38 NumberOfCodeBlocksAsserted, 2 NumberOfCheckSat, 17 ConstructedInterpolants, 0 QuantifiedInterpolants, 289 SizeOfPredicates, 0 NumberOfNonLiveVariables, 0 ConjunctsInSsa, 0 ConjunctsInUnsatCore, 1 InterpolantComputations, 1 PerfectInterpolantSequences, 0/0 InterpolantCoveringCapability, InvariantSynthesisStatistics: No data available, InterpolantConsolidationStatistics: No data available, ReuseStatistics: No data available RESULT: Ultimate could not prove your program: unable to determine feasibility of some traces Received shutdown request... ### Bit-precise run ### This is Ultimate 0.1.23-aa41828 [2018-11-22 22:39:53,755 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-22 22:39:53,757 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-22 22:39:53,766 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-22 22:39:53,766 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-22 22:39:53,767 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-22 22:39:53,768 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-22 22:39:53,769 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-22 22:39:53,770 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-22 22:39:53,771 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-22 22:39:53,772 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-22 22:39:53,772 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-22 22:39:53,773 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-22 22:39:53,774 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-22 22:39:53,775 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-22 22:39:53,775 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-22 22:39:53,776 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-22 22:39:53,777 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-22 22:39:53,779 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-22 22:39:53,780 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-22 22:39:53,781 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-22 22:39:53,782 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-22 22:39:53,784 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-22 22:39:53,785 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-22 22:39:53,785 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-22 22:39:53,786 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-22 22:39:53,786 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-22 22:39:53,787 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-22 22:39:53,788 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-22 22:39:53,789 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-22 22:39:53,789 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-22 22:39:53,789 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-22 22:39:53,790 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-22 22:39:53,790 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-22 22:39:53,791 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-22 22:39:53,792 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-22 22:39:53,792 INFO L98 SettingsManager]: Beginning loading settings from /tmp/vcloud-vcloud-master/worker/working_dir_57cb3b9b-8711-4d88-8b81-1394282b93b6/bin-2019/utaipan/config/svcomp-Reach-32bit-Taipan_Bitvector.epf [2018-11-22 22:39:53,805 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-22 22:39:53,805 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-22 22:39:53,806 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-22 22:39:53,806 INFO L133 SettingsManager]: * ... calls to implemented procedures=ONLY_FOR_CONCURRENT_PROGRAMS [2018-11-22 22:39:53,806 INFO L133 SettingsManager]: * User list type=DISABLED [2018-11-22 22:39:53,807 INFO L131 SettingsManager]: Preferences of Abstract Interpretation differ from their defaults: [2018-11-22 22:39:53,807 INFO L133 SettingsManager]: * Explicit value domain=true [2018-11-22 22:39:53,807 INFO L133 SettingsManager]: * Octagon Domain=false [2018-11-22 22:39:53,807 INFO L133 SettingsManager]: * Abstract domain=CompoundDomain [2018-11-22 22:39:53,807 INFO L133 SettingsManager]: * Interval Domain=false [2018-11-22 22:39:53,808 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-22 22:39:53,808 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-22 22:39:53,808 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-22 22:39:53,808 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-22 22:39:53,809 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-22 22:39:53,809 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-22 22:39:53,809 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-22 22:39:53,809 INFO L133 SettingsManager]: * Use bitvectors instead of ints=true [2018-11-22 22:39:53,809 INFO L133 SettingsManager]: * Memory model=HoenickeLindenmann_4ByteResolution [2018-11-22 22:39:53,809 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-22 22:39:53,810 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-22 22:39:53,810 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-22 22:39:53,810 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-22 22:39:53,810 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-22 22:39:53,810 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-11-22 22:39:53,810 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-22 22:39:53,811 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-11-22 22:39:53,811 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-11-22 22:39:53,811 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-22 22:39:53,811 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-22 22:39:53,811 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-22 22:39:53,812 INFO L133 SettingsManager]: * Trace refinement strategy=WALRUS [2018-11-22 22:39:53,812 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-22 22:39:53,812 INFO L133 SettingsManager]: * Command for external solver=cvc4nyu --tear-down-incremental --rewrite-divk --print-success --lang smt [2018-11-22 22:39:53,812 INFO L133 SettingsManager]: * Logic for external solver=AUFBV [2018-11-22 22:39:53,812 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_57cb3b9b-8711-4d88-8b81-1394282b93b6/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 -> 6325aa1d97dea13f4033dc32ee324acae8808fcc [2018-11-22 22:39:53,847 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-22 22:39:53,857 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-22 22:39:53,859 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-22 22:39:53,860 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-22 22:39:53,861 INFO L276 PluginConnector]: CDTParser initialized [2018-11-22 22:39:53,861 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /tmp/vcloud-vcloud-master/worker/working_dir_57cb3b9b-8711-4d88-8b81-1394282b93b6/bin-2019/utaipan/../../sv-benchmarks/c/float-newlib/double_req_bl_0686a_true-unreach-call.c [2018-11-22 22:39:53,903 INFO L221 CDTParser]: Created temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_57cb3b9b-8711-4d88-8b81-1394282b93b6/bin-2019/utaipan/data/a9dcd1705/8eaa2bc501fb4486b38994d058a90151/FLAGaf2550ce0 [2018-11-22 22:39:54,235 INFO L307 CDTParser]: Found 1 translation units. [2018-11-22 22:39:54,235 INFO L161 CDTParser]: Scanning /tmp/vcloud-vcloud-master/worker/working_dir_57cb3b9b-8711-4d88-8b81-1394282b93b6/sv-benchmarks/c/float-newlib/double_req_bl_0686a_true-unreach-call.c [2018-11-22 22:39:54,240 INFO L355 CDTParser]: About to delete temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_57cb3b9b-8711-4d88-8b81-1394282b93b6/bin-2019/utaipan/data/a9dcd1705/8eaa2bc501fb4486b38994d058a90151/FLAGaf2550ce0 [2018-11-22 22:39:54,659 INFO L363 CDTParser]: Successfully deleted /tmp/vcloud-vcloud-master/worker/working_dir_57cb3b9b-8711-4d88-8b81-1394282b93b6/bin-2019/utaipan/data/a9dcd1705/8eaa2bc501fb4486b38994d058a90151 [2018-11-22 22:39:54,662 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-22 22:39:54,663 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-22 22:39:54,664 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-22 22:39:54,664 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-22 22:39:54,667 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-22 22:39:54,668 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 22.11 10:39:54" (1/1) ... [2018-11-22 22:39:54,671 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@65b641ee and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:39:54, skipping insertion in model container [2018-11-22 22:39:54,671 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 22.11 10:39:54" (1/1) ... [2018-11-22 22:39:54,680 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-22 22:39:54,705 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-22 22:39:54,876 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-22 22:39:54,883 INFO L191 MainTranslator]: Completed pre-run [2018-11-22 22:39:54,931 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-22 22:39:54,953 INFO L195 MainTranslator]: Completed translation [2018-11-22 22:39:54,953 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:39:54 WrapperNode [2018-11-22 22:39:54,953 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-22 22:39:54,954 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-22 22:39:54,954 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-22 22:39:54,954 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-22 22:39:54,959 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:39:54" (1/1) ... [2018-11-22 22:39:54,971 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:39:54" (1/1) ... [2018-11-22 22:39:54,978 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-22 22:39:54,978 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-22 22:39:54,978 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-22 22:39:54,978 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-22 22:39:55,033 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:39:54" (1/1) ... [2018-11-22 22:39:55,033 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:39:54" (1/1) ... [2018-11-22 22:39:55,037 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:39:54" (1/1) ... [2018-11-22 22:39:55,037 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:39:54" (1/1) ... [2018-11-22 22:39:55,053 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:39:54" (1/1) ... [2018-11-22 22:39:55,061 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:39:54" (1/1) ... [2018-11-22 22:39:55,064 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:39:54" (1/1) ... [2018-11-22 22:39:55,067 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-22 22:39:55,068 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-22 22:39:55,068 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-22 22:39:55,068 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-22 22:39:55,069 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:39:54" (1/1) ... No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_57cb3b9b-8711-4d88-8b81-1394282b93b6/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 22:39:55,104 INFO L130 BoogieDeclarations]: Found specification of procedure read~intFLOATTYPE8 [2018-11-22 22:39:55,104 INFO L130 BoogieDeclarations]: Found specification of procedure write~intFLOATTYPE8 [2018-11-22 22:39:55,104 INFO L130 BoogieDeclarations]: Found specification of procedure main [2018-11-22 22:39:55,105 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2018-11-22 22:39:55,105 INFO L130 BoogieDeclarations]: Found specification of procedure __ieee754_atan2 [2018-11-22 22:39:55,105 INFO L138 BoogieDeclarations]: Found implementation of procedure __ieee754_atan2 [2018-11-22 22:39:55,105 INFO L130 BoogieDeclarations]: Found specification of procedure fabs_double [2018-11-22 22:39:55,105 INFO L138 BoogieDeclarations]: Found implementation of procedure fabs_double [2018-11-22 22:39:55,105 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2018-11-22 22:39:55,105 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2018-11-22 22:39:55,105 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~intFLOATTYPE8 [2018-11-22 22:39:55,106 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-22 22:39:55,106 INFO L130 BoogieDeclarations]: Found specification of procedure atan_double [2018-11-22 22:39:55,106 INFO L138 BoogieDeclarations]: Found implementation of procedure atan_double [2018-11-22 22:39:55,106 INFO L130 BoogieDeclarations]: Found specification of procedure read~intINTTYPE4 [2018-11-22 22:39:55,106 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-22 22:39:55,106 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-22 22:39:55,106 INFO L130 BoogieDeclarations]: Found specification of procedure write~intINTTYPE4 [2018-11-22 22:39:55,106 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-22 22:39:55,451 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-22 22:39:55,648 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-22 22:39:55,781 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-22 22:39:55,813 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-22 22:39:57,188 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-22 22:39:57,198 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-22 22:39:57,245 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-22 22:40:02,266 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-22 22:40:12,390 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-22 22:40:12,396 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-22 22:40:12,396 INFO L280 CfgBuilder]: Removed 16 assue(true) statements. [2018-11-22 22:40:12,397 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 22.11 10:40:12 BoogieIcfgContainer [2018-11-22 22:40:12,397 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-22 22:40:12,398 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2018-11-22 22:40:12,398 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2018-11-22 22:40:12,401 INFO L276 PluginConnector]: TraceAbstraction initialized [2018-11-22 22:40:12,401 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 22.11 10:39:54" (1/3) ... [2018-11-22 22:40:12,402 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@1cbe2821 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 22.11 10:40:12, skipping insertion in model container [2018-11-22 22:40:12,402 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 22.11 10:39:54" (2/3) ... [2018-11-22 22:40:12,402 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@1cbe2821 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 22.11 10:40:12, skipping insertion in model container [2018-11-22 22:40:12,402 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 22.11 10:40:12" (3/3) ... [2018-11-22 22:40:12,403 INFO L112 eAbstractionObserver]: Analyzing ICFG double_req_bl_0686a_true-unreach-call.c [2018-11-22 22:40:12,409 INFO L156 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2018-11-22 22:40:12,413 INFO L168 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2018-11-22 22:40:12,422 INFO L257 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2018-11-22 22:40:12,440 INFO L133 ementStrategyFactory]: Using default assertion order modulation [2018-11-22 22:40:12,440 INFO L382 AbstractCegarLoop]: Interprodecural is true [2018-11-22 22:40:12,441 INFO L383 AbstractCegarLoop]: Hoare is true [2018-11-22 22:40:12,441 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2018-11-22 22:40:12,441 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2018-11-22 22:40:12,441 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-11-22 22:40:12,441 INFO L387 AbstractCegarLoop]: Difference is false [2018-11-22 22:40:12,441 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-11-22 22:40:12,441 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2018-11-22 22:40:12,452 INFO L276 IsEmpty]: Start isEmpty. Operand 101 states. [2018-11-22 22:40:12,455 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 19 [2018-11-22 22:40:12,455 INFO L394 BasicCegarLoop]: Found error trace [2018-11-22 22:40:12,456 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-22 22:40:12,457 INFO L423 AbstractCegarLoop]: === Iteration 1 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-22 22:40:12,460 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-22 22:40:12,460 INFO L82 PathProgramCache]: Analyzing trace with hash 947216650, now seen corresponding path program 1 times [2018-11-22 22:40:12,463 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-22 22:40:12,463 INFO L69 tionRefinementEngine]: Using refinement strategy WalrusRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_57cb3b9b-8711-4d88-8b81-1394282b93b6/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 22:40:12,467 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-22 22:40:12,658 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-22 22:40:12,682 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-22 22:40:12,698 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-22 22:40:12,698 INFO L312 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2018-11-22 22:40:12,710 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-11-22 22:40:12,710 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2018-11-22 22:40:12,713 INFO L459 AbstractCegarLoop]: Interpolant automaton has 2 states [2018-11-22 22:40:12,720 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 2 interpolants. [2018-11-22 22:40:12,721 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=1, Invalid=1, Unknown=0, NotChecked=0, Total=2 [2018-11-22 22:40:12,722 INFO L87 Difference]: Start difference. First operand 101 states. Second operand 2 states. [2018-11-22 22:40:12,745 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-11-22 22:40:12,745 INFO L93 Difference]: Finished difference Result 194 states and 310 transitions. [2018-11-22 22:40:12,746 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 2 states. [2018-11-22 22:40:12,747 INFO L78 Accepts]: Start accepts. Automaton has 2 states. Word has length 18 [2018-11-22 22:40:12,747 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-11-22 22:40:12,754 INFO L225 Difference]: With dead ends: 194 [2018-11-22 22:40:12,754 INFO L226 Difference]: Without dead ends: 97 [2018-11-22 22:40:12,757 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 17 GetRequests, 17 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 22:40:12,767 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 97 states. [2018-11-22 22:40:12,785 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 97 to 97. [2018-11-22 22:40:12,786 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 97 states. [2018-11-22 22:40:12,788 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 97 states to 97 states and 136 transitions. [2018-11-22 22:40:12,789 INFO L78 Accepts]: Start accepts. Automaton has 97 states and 136 transitions. Word has length 18 [2018-11-22 22:40:12,790 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-11-22 22:40:12,790 INFO L480 AbstractCegarLoop]: Abstraction has 97 states and 136 transitions. [2018-11-22 22:40:12,790 INFO L481 AbstractCegarLoop]: Interpolant automaton has 2 states. [2018-11-22 22:40:12,790 INFO L276 IsEmpty]: Start isEmpty. Operand 97 states and 136 transitions. [2018-11-22 22:40:12,790 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 21 [2018-11-22 22:40:12,791 INFO L394 BasicCegarLoop]: Found error trace [2018-11-22 22:40:12,791 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-11-22 22:40:12,791 INFO L423 AbstractCegarLoop]: === Iteration 2 === [mainErr0ASSERT_VIOLATIONERROR_FUNCTION]=== [2018-11-22 22:40:12,791 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-22 22:40:12,791 INFO L82 PathProgramCache]: Analyzing trace with hash -246249165, now seen corresponding path program 1 times [2018-11-22 22:40:12,792 INFO L223 ckRefinementStrategy]: Switched to mode MATHSAT_FPBP [2018-11-22 22:40:12,792 INFO L69 tionRefinementEngine]: Using refinement strategy WalrusRefinementStrategy No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_57cb3b9b-8711-4d88-8b81-1394282b93b6/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 22:40:12,794 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-11-22 22:40:13,268 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-22 22:40:13,302 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-22 22:40:13,398 INFO L683 Elim1Store]: detected equality via solver [2018-11-22 22:40:13,399 INFO L683 Elim1Store]: detected equality via solver [2018-11-22 22:40:13,402 INFO L683 Elim1Store]: detected equality via solver [2018-11-22 22:40:13,402 INFO L683 Elim1Store]: detected equality via solver [2018-11-22 22:40:13,408 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 22:40:13,708 WARN L521 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 mathsat -unsat_core_generation=3 [2018-11-22 22:40:13,708 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 22:40:13,711 INFO L168 Benchmark]: Toolchain (without parser) took 19048.94 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 140.0 MB). Free memory was 949.7 MB in the beginning and 1.0 GB in the end (delta: -56.5 MB). Peak memory consumption was 83.4 MB. Max. memory is 11.5 GB. [2018-11-22 22:40:13,712 INFO L168 Benchmark]: CDTParser took 0.14 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 22:40:13,713 INFO L168 Benchmark]: CACSL2BoogieTranslator took 289.70 ms. Allocated memory is still 1.0 GB. Free memory was 949.7 MB in the beginning and 928.3 MB in the end (delta: 21.5 MB). Peak memory consumption was 21.5 MB. Max. memory is 11.5 GB. [2018-11-22 22:40:13,713 INFO L168 Benchmark]: Boogie Procedure Inliner took 24.07 ms. Allocated memory is still 1.0 GB. Free memory is still 928.3 MB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-22 22:40:13,713 INFO L168 Benchmark]: Boogie Preprocessor took 89.52 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 140.0 MB). Free memory was 928.3 MB in the beginning and 1.1 GB in the end (delta: -199.6 MB). Peak memory consumption was 15.8 MB. Max. memory is 11.5 GB. [2018-11-22 22:40:13,714 INFO L168 Benchmark]: RCFGBuilder took 17329.10 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: 65.3 MB). Peak memory consumption was 65.3 MB. Max. memory is 11.5 GB. [2018-11-22 22:40:13,714 INFO L168 Benchmark]: TraceAbstraction took 1312.92 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 1.0 GB in the end (delta: 56.3 MB). Peak memory consumption was 56.3 MB. Max. memory is 11.5 GB. [2018-11-22 22:40:13,717 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.14 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 289.70 ms. Allocated memory is still 1.0 GB. Free memory was 949.7 MB in the beginning and 928.3 MB in the end (delta: 21.5 MB). Peak memory consumption was 21.5 MB. Max. memory is 11.5 GB. * Boogie Procedure Inliner took 24.07 ms. Allocated memory is still 1.0 GB. Free memory is still 928.3 MB. There was no memory consumed. Max. memory is 11.5 GB. * Boogie Preprocessor took 89.52 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 140.0 MB). Free memory was 928.3 MB in the beginning and 1.1 GB in the end (delta: -199.6 MB). Peak memory consumption was 15.8 MB. Max. memory is 11.5 GB. * RCFGBuilder took 17329.10 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: 65.3 MB). Peak memory consumption was 65.3 MB. Max. memory is 11.5 GB. * TraceAbstraction took 1312.92 ms. Allocated memory is still 1.2 GB. Free memory was 1.1 GB in the beginning and 1.0 GB in the end (delta: 56.3 MB). Peak memory consumption was 56.3 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...