./Ultimate.py --spec ../../sv-benchmarks/c/properties/unreach-call.prp --file ../../sv-benchmarks/c/float-newlib/float_req_bl_1131b_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_3c292e1d-43d1-488b-b11b-61cfc69735ef/bin-2019/ukojak/data/config -Xmx12G -Xms1G -jar /tmp/vcloud-vcloud-master/worker/working_dir_3c292e1d-43d1-488b-b11b-61cfc69735ef/bin-2019/ukojak/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata /tmp/vcloud-vcloud-master/worker/working_dir_3c292e1d-43d1-488b-b11b-61cfc69735ef/bin-2019/ukojak/data -tc /tmp/vcloud-vcloud-master/worker/working_dir_3c292e1d-43d1-488b-b11b-61cfc69735ef/bin-2019/ukojak/config/KojakReach.xml -i ../../sv-benchmarks/c/float-newlib/float_req_bl_1131b_true-unreach-call.c -s /tmp/vcloud-vcloud-master/worker/working_dir_3c292e1d-43d1-488b-b11b-61cfc69735ef/bin-2019/ukojak/config/svcomp-Reach-32bit-Kojak_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /tmp/vcloud-vcloud-master/worker/working_dir_3c292e1d-43d1-488b-b11b-61cfc69735ef/bin-2019/ukojak --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 Kojak --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash 6efcf0ef01c01ffa978b867fd4fac99c9f84566e ................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................. 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_3c292e1d-43d1-488b-b11b-61cfc69735ef/bin-2019/ukojak/data/config -Xmx12G -Xms1G -jar /tmp/vcloud-vcloud-master/worker/working_dir_3c292e1d-43d1-488b-b11b-61cfc69735ef/bin-2019/ukojak/plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata /tmp/vcloud-vcloud-master/worker/working_dir_3c292e1d-43d1-488b-b11b-61cfc69735ef/bin-2019/ukojak/data -tc /tmp/vcloud-vcloud-master/worker/working_dir_3c292e1d-43d1-488b-b11b-61cfc69735ef/bin-2019/ukojak/config/KojakReach.xml -i ../../sv-benchmarks/c/float-newlib/float_req_bl_1131b_true-unreach-call.c -s /tmp/vcloud-vcloud-master/worker/working_dir_3c292e1d-43d1-488b-b11b-61cfc69735ef/bin-2019/ukojak/config/svcomp-Reach-32bit-Kojak_Bitvector.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /tmp/vcloud-vcloud-master/worker/working_dir_3c292e1d-43d1-488b-b11b-61cfc69735ef/bin-2019/ukojak --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 Kojak --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash 6efcf0ef01c01ffa978b867fd4fac99c9f84566e ................................................................................................................................................................................................................................................................................................................................................................................................................................................... Execution finished normally Writing output log to file Ultimate.log Result: TRUE --- Real Ultimate output --- This is Ultimate 0.1.23-aa41828 [2018-11-23 14:52:01,951 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-23 14:52:01,953 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-23 14:52:01,960 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-23 14:52:01,961 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-23 14:52:01,961 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-23 14:52:01,962 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-23 14:52:01,963 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-23 14:52:01,964 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-23 14:52:01,965 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-23 14:52:01,966 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-23 14:52:01,966 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-23 14:52:01,967 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-23 14:52:01,968 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-23 14:52:01,968 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-23 14:52:01,969 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-23 14:52:01,969 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-23 14:52:01,971 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-23 14:52:01,972 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-23 14:52:01,973 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-23 14:52:01,974 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-23 14:52:01,975 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-23 14:52:01,977 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-23 14:52:01,977 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-23 14:52:01,977 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-23 14:52:01,978 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-23 14:52:01,979 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-23 14:52:01,980 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-23 14:52:01,980 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-23 14:52:01,981 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-23 14:52:01,981 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-23 14:52:01,982 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-23 14:52:01,982 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-23 14:52:01,982 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-23 14:52:01,983 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-23 14:52:01,984 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-23 14:52:01,984 INFO L98 SettingsManager]: Beginning loading settings from /tmp/vcloud-vcloud-master/worker/working_dir_3c292e1d-43d1-488b-b11b-61cfc69735ef/bin-2019/ukojak/config/svcomp-Reach-32bit-Kojak_Default.epf [2018-11-23 14:52:01,994 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-23 14:52:01,994 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-23 14:52:01,994 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-23 14:52:01,994 INFO L133 SettingsManager]: * ... to procedures called more than once=ALWAYS [2018-11-23 14:52:01,995 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-23 14:52:01,995 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-23 14:52:01,995 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-23 14:52:01,995 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-23 14:52:01,996 INFO L133 SettingsManager]: * Overapproximate operations on floating types=true [2018-11-23 14:52:01,996 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-23 14:52:01,996 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-23 14:52:01,996 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-23 14:52:01,996 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-23 14:52:01,996 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-23 14:52:01,996 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-23 14:52:01,996 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-23 14:52:01,996 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-23 14:52:01,997 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-23 14:52:01,997 INFO L131 SettingsManager]: Preferences of CodeCheck differ from their defaults: [2018-11-23 14:52:01,997 INFO L133 SettingsManager]: * Timeout in seconds=1000000 [2018-11-23 14:52:01,997 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-23 14:52:01,997 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-23 14:52:01,997 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:10000 [2018-11-23 14:52:01,997 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-23 14:52:01,997 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-23 14:52:01,997 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-23 14:52:01,998 INFO L133 SettingsManager]: * Trace refinement strategy=PENGUIN [2018-11-23 14:52:01,998 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-23 14:52:01,998 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2018-11-23 14:52:01,998 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_3c292e1d-43d1-488b-b11b-61cfc69735ef/bin-2019/ukojak 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 -> Kojak 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 -> 6efcf0ef01c01ffa978b867fd4fac99c9f84566e [2018-11-23 14:52:02,028 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-23 14:52:02,036 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-23 14:52:02,038 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-23 14:52:02,038 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-23 14:52:02,039 INFO L276 PluginConnector]: CDTParser initialized [2018-11-23 14:52:02,039 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /tmp/vcloud-vcloud-master/worker/working_dir_3c292e1d-43d1-488b-b11b-61cfc69735ef/bin-2019/ukojak/../../sv-benchmarks/c/float-newlib/float_req_bl_1131b_true-unreach-call.c [2018-11-23 14:52:02,075 INFO L221 CDTParser]: Created temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_3c292e1d-43d1-488b-b11b-61cfc69735ef/bin-2019/ukojak/data/5b9a451a7/8fc2b9ff9ca246cb94ccd9aea98afe7a/FLAG2f165b355 [2018-11-23 14:52:02,375 INFO L307 CDTParser]: Found 1 translation units. [2018-11-23 14:52:02,376 INFO L161 CDTParser]: Scanning /tmp/vcloud-vcloud-master/worker/working_dir_3c292e1d-43d1-488b-b11b-61cfc69735ef/sv-benchmarks/c/float-newlib/float_req_bl_1131b_true-unreach-call.c [2018-11-23 14:52:02,380 INFO L355 CDTParser]: About to delete temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_3c292e1d-43d1-488b-b11b-61cfc69735ef/bin-2019/ukojak/data/5b9a451a7/8fc2b9ff9ca246cb94ccd9aea98afe7a/FLAG2f165b355 [2018-11-23 14:52:02,388 INFO L363 CDTParser]: Successfully deleted /tmp/vcloud-vcloud-master/worker/working_dir_3c292e1d-43d1-488b-b11b-61cfc69735ef/bin-2019/ukojak/data/5b9a451a7/8fc2b9ff9ca246cb94ccd9aea98afe7a [2018-11-23 14:52:02,390 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-23 14:52:02,391 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-23 14:52:02,391 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-23 14:52:02,391 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-23 14:52:02,394 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-23 14:52:02,395 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 02:52:02" (1/1) ... [2018-11-23 14:52:02,396 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@58a31ddc and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:52:02, skipping insertion in model container [2018-11-23 14:52:02,396 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 02:52:02" (1/1) ... [2018-11-23 14:52:02,402 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-23 14:52:02,420 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-23 14:52:02,551 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 14:52:02,553 INFO L191 MainTranslator]: Completed pre-run [2018-11-23 14:52:02,579 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 14:52:02,628 INFO L195 MainTranslator]: Completed translation [2018-11-23 14:52:02,628 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:52:02 WrapperNode [2018-11-23 14:52:02,628 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-23 14:52:02,629 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-23 14:52:02,629 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-23 14:52:02,629 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-23 14:52:02,634 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:52:02" (1/1) ... [2018-11-23 14:52:02,642 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:52:02" (1/1) ... [2018-11-23 14:52:02,662 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-23 14:52:02,663 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-23 14:52:02,663 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-23 14:52:02,663 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-23 14:52:02,669 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:52:02" (1/1) ... [2018-11-23 14:52:02,669 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:52:02" (1/1) ... [2018-11-23 14:52:02,671 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:52:02" (1/1) ... [2018-11-23 14:52:02,671 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:52:02" (1/1) ... [2018-11-23 14:52:02,677 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:52:02" (1/1) ... [2018-11-23 14:52:02,681 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:52:02" (1/1) ... [2018-11-23 14:52:02,682 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:52:02" (1/1) ... [2018-11-23 14:52:02,684 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-23 14:52:02,684 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-23 14:52:02,684 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-23 14:52:02,684 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-23 14:52:02,685 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:52:02" (1/1) ... No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_3c292e1d-43d1-488b-b11b-61cfc69735ef/bin-2019/ukojak/z3 Starting monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:10000 (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:10000 [2018-11-23 14:52:02,716 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2018-11-23 14:52:02,716 INFO L130 BoogieDeclarations]: Found specification of procedure read~real [2018-11-23 14:52:02,716 INFO L130 BoogieDeclarations]: Found specification of procedure write~real [2018-11-23 14:52:02,716 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-23 14:52:02,716 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-23 14:52:02,717 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-23 14:52:02,717 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2018-11-23 14:52:02,717 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~real [2018-11-23 14:52:02,717 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-23 14:52:03,047 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-23 14:52:03,047 INFO L280 CfgBuilder]: Removed 22 assue(true) statements. [2018-11-23 14:52:03,047 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 02:52:03 BoogieIcfgContainer [2018-11-23 14:52:03,048 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-23 14:52:03,048 INFO L113 PluginConnector]: ------------------------CodeCheck---------------------------- [2018-11-23 14:52:03,048 INFO L271 PluginConnector]: Initializing CodeCheck... [2018-11-23 14:52:03,055 INFO L276 PluginConnector]: CodeCheck initialized [2018-11-23 14:52:03,055 INFO L185 PluginConnector]: Executing the observer CodeCheckObserver from plugin CodeCheck for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 02:52:03" (1/1) ... [2018-11-23 14:52:03,064 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 14:52:03,082 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-23 14:52:03,086 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 64 states to 39 states and 64 transitions. [2018-11-23 14:52:03,087 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 64 transitions. [2018-11-23 14:52:03,089 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 12 [2018-11-23 14:52:03,089 INFO L427 CodeCheckObserver]: Error Path is FOUND. [2018-11-23 14:52:03,145 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 14:52:03,171 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 14:52:03,178 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-23 14:52:03,178 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 57 states to 39 states and 57 transitions. [2018-11-23 14:52:03,178 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 57 transitions. [2018-11-23 14:52:03,178 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2018-11-23 14:52:03,178 INFO L427 CodeCheckObserver]: Error Path is FOUND. [2018-11-23 14:52:03,224 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 14:52:03,249 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 14:52:03,298 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 14:52:03,313 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-11-23 14:52:03,333 WARN L493 CodeCheckObserver]: This program is UNSAFE, Check terminated with 2 iterations. ----- class de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder.RCFGBacktranslator [?] #NULL.base, #NULL.offset := 0, 0;#valid := #valid[0 := 0];~one_fmod~0 := 1.0;call ~#Zero_fmod~0.base, ~#Zero_fmod~0.offset := #Ultimate.alloc(8);call write~init~real(0.0, ~#Zero_fmod~0.base, ~#Zero_fmod~0.offset, 4);call write~init~real(~someUnaryDOUBLEoperation(0.0), ~#Zero_fmod~0.base, 4 + ~#Zero_fmod~0.offset, 4);havoc main_#res;havoc main_#t~nondet14, main_#t~ret15, main_#t~ret16, main_~res~0, main_~x~0, main_~y~0;main_~x~0 := main_#t~nondet14;havoc main_#t~nondet14;main_~y~0 := ~someBinaryArithmeticFLOAToperation(~someUnaryFLOAToperation(1.0), 0.0);isfinite_float_#in~x := main_~x~0;havoc isfinite_float_#res;havoc isfinite_float_#t~mem12, isfinite_float_#t~union13, isfinite_float_~#gf_u~2.base, isfinite_float_~#gf_u~2.offset, isfinite_float_~x, isfinite_float_~ix~1;isfinite_float_~x := isfinite_float_#in~x;havoc isfinite_float_~ix~1; VAL [ULTIMATE.start_isfinite_float_~x=2.0, ULTIMATE.start_main_~x~0=2.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start_isfinite_float_#in~x|=2.0, |~#Zero_fmod~0.base|=2, |~#Zero_fmod~0.offset|=0, ~one_fmod~0=1.0] [?] call isfinite_float_~#gf_u~2.base, isfinite_float_~#gf_u~2.offset := #Ultimate.alloc(4);call write~real(isfinite_float_~x, isfinite_float_~#gf_u~2.base, isfinite_float_~#gf_u~2.offset, 4);call isfinite_float_#t~mem12 := read~int(isfinite_float_~#gf_u~2.base, isfinite_float_~#gf_u~2.offset, 4);isfinite_float_~ix~1 := (if isfinite_float_#t~mem12 % 4294967296 % 4294967296 <= 2147483647 then isfinite_float_#t~mem12 % 4294967296 % 4294967296 else isfinite_float_#t~mem12 % 4294967296 % 4294967296 - 4294967296);call write~real(isfinite_float_#t~union13, isfinite_float_~#gf_u~2.base, isfinite_float_~#gf_u~2.offset, 4);havoc isfinite_float_#t~union13;havoc isfinite_float_#t~mem12;call ULTIMATE.dealloc(isfinite_float_~#gf_u~2.base, isfinite_float_~#gf_u~2.offset);havoc isfinite_float_~#gf_u~2.base, isfinite_float_~#gf_u~2.offset; VAL [ULTIMATE.start_isfinite_float_~ix~1=0, ULTIMATE.start_isfinite_float_~x=2.0, ULTIMATE.start_main_~x~0=2.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start_isfinite_float_#in~x|=2.0, |~#Zero_fmod~0.base|=2, |~#Zero_fmod~0.offset|=0, ~one_fmod~0=1.0] [?] goto; VAL [ULTIMATE.start_isfinite_float_~ix~1=0, ULTIMATE.start_isfinite_float_~x=2.0, ULTIMATE.start_main_~x~0=2.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start_isfinite_float_#in~x|=2.0, |~#Zero_fmod~0.base|=2, |~#Zero_fmod~0.offset|=0, ~one_fmod~0=1.0] [?] isfinite_float_~ix~1 := ~bitwiseAnd(isfinite_float_~ix~1, 2147483647);isfinite_float_#res := (if isfinite_float_~ix~1 < 2139095040 then 1 else 0);main_#t~ret15 := isfinite_float_#res;assume -2147483648 <= main_#t~ret15 && main_#t~ret15 <= 2147483647; VAL [ULTIMATE.start_isfinite_float_~ix~1=0, ULTIMATE.start_isfinite_float_~x=2.0, ULTIMATE.start_main_~x~0=2.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start_isfinite_float_#in~x|=2.0, |ULTIMATE.start_isfinite_float_#res|=1, |ULTIMATE.start_main_#t~ret15|=1, |~#Zero_fmod~0.base|=2, |~#Zero_fmod~0.offset|=0, ~one_fmod~0=1.0] [?] assume 0 != main_#t~ret15;havoc main_#t~ret15;fmod_float_#in~x, fmod_float_#in~y := main_~x~0, main_~y~0;havoc fmod_float_#res;havoc fmod_float_#t~mem0, fmod_float_#t~union1, fmod_float_~#gf_u~0.base, fmod_float_~#gf_u~0.offset, fmod_float_#t~mem2, fmod_float_#t~union3, fmod_float_~#gf_u~1.base, fmod_float_~#gf_u~1.offset, fmod_float_#t~mem4, fmod_float_#t~mem6, fmod_float_#t~post5, fmod_float_#t~mem7, fmod_float_#t~mem8, fmod_float_#t~union9, fmod_float_~#sf_u~0.base, fmod_float_~#sf_u~0.offset, fmod_float_#t~mem10, fmod_float_#t~union11, fmod_float_~#sf_u~1.base, fmod_float_~#sf_u~1.offset, fmod_float_~x, fmod_float_~y, fmod_float_~n~0, fmod_float_~hx~0, fmod_float_~hy~0, fmod_float_~hz~0, fmod_float_~ix~0, fmod_float_~iy~0, fmod_float_~sx~0, fmod_float_~i~0;fmod_float_~x := fmod_float_#in~x;fmod_float_~y := fmod_float_#in~y;havoc fmod_float_~n~0;havoc fmod_float_~hx~0;havoc fmod_float_~hy~0;havoc fmod_float_~hz~0;havoc fmod_float_~ix~0;havoc fmod_float_~iy~0;havoc fmod_float_~sx~0;havoc fmod_float_~i~0; VAL [ULTIMATE.start_fmod_float_~x=2.0, ULTIMATE.start_fmod_float_~y=10.0, ULTIMATE.start_isfinite_float_~ix~1=0, ULTIMATE.start_isfinite_float_~x=2.0, ULTIMATE.start_main_~x~0=2.0, ULTIMATE.start_main_~y~0=10.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start_fmod_float_#in~x|=2.0, |ULTIMATE.start_fmod_float_#in~y|=10.0, |ULTIMATE.start_isfinite_float_#in~x|=2.0, |ULTIMATE.start_isfinite_float_#res|=1, |~#Zero_fmod~0.base|=2, |~#Zero_fmod~0.offset|=0, ~one_fmod~0=1.0] [?] call fmod_float_~#gf_u~0.base, fmod_float_~#gf_u~0.offset := #Ultimate.alloc(4);call write~real(fmod_float_~x, fmod_float_~#gf_u~0.base, fmod_float_~#gf_u~0.offset, 4);call fmod_float_#t~mem0 := read~int(fmod_float_~#gf_u~0.base, fmod_float_~#gf_u~0.offset, 4);fmod_float_~hx~0 := (if fmod_float_#t~mem0 % 4294967296 % 4294967296 <= 2147483647 then fmod_float_#t~mem0 % 4294967296 % 4294967296 else fmod_float_#t~mem0 % 4294967296 % 4294967296 - 4294967296);call write~real(fmod_float_#t~union1, fmod_float_~#gf_u~0.base, fmod_float_~#gf_u~0.offset, 4);havoc fmod_float_#t~union1;havoc fmod_float_#t~mem0;call ULTIMATE.dealloc(fmod_float_~#gf_u~0.base, fmod_float_~#gf_u~0.offset);havoc fmod_float_~#gf_u~0.base, fmod_float_~#gf_u~0.offset; VAL [ULTIMATE.start_fmod_float_~hx~0=840, ULTIMATE.start_fmod_float_~x=2.0, ULTIMATE.start_fmod_float_~y=10.0, ULTIMATE.start_isfinite_float_~ix~1=0, ULTIMATE.start_isfinite_float_~x=2.0, ULTIMATE.start_main_~x~0=2.0, ULTIMATE.start_main_~y~0=10.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start_fmod_float_#in~x|=2.0, |ULTIMATE.start_fmod_float_#in~y|=10.0, |ULTIMATE.start_isfinite_float_#in~x|=2.0, |ULTIMATE.start_isfinite_float_#res|=1, |~#Zero_fmod~0.base|=2, |~#Zero_fmod~0.offset|=0, ~one_fmod~0=1.0] [?] goto; VAL [ULTIMATE.start_fmod_float_~hx~0=840, ULTIMATE.start_fmod_float_~x=2.0, ULTIMATE.start_fmod_float_~y=10.0, ULTIMATE.start_isfinite_float_~ix~1=0, ULTIMATE.start_isfinite_float_~x=2.0, ULTIMATE.start_main_~x~0=2.0, ULTIMATE.start_main_~y~0=10.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start_fmod_float_#in~x|=2.0, |ULTIMATE.start_fmod_float_#in~y|=10.0, |ULTIMATE.start_isfinite_float_#in~x|=2.0, |ULTIMATE.start_isfinite_float_#res|=1, |~#Zero_fmod~0.base|=2, |~#Zero_fmod~0.offset|=0, ~one_fmod~0=1.0] [?] call fmod_float_~#gf_u~1.base, fmod_float_~#gf_u~1.offset := #Ultimate.alloc(4);call write~real(fmod_float_~y, fmod_float_~#gf_u~1.base, fmod_float_~#gf_u~1.offset, 4);call fmod_float_#t~mem2 := read~int(fmod_float_~#gf_u~1.base, fmod_float_~#gf_u~1.offset, 4);fmod_float_~hy~0 := (if fmod_float_#t~mem2 % 4294967296 % 4294967296 <= 2147483647 then fmod_float_#t~mem2 % 4294967296 % 4294967296 else fmod_float_#t~mem2 % 4294967296 % 4294967296 - 4294967296);call write~real(fmod_float_#t~union3, fmod_float_~#gf_u~1.base, fmod_float_~#gf_u~1.offset, 4);havoc fmod_float_#t~union3;havoc fmod_float_#t~mem2;call ULTIMATE.dealloc(fmod_float_~#gf_u~1.base, fmod_float_~#gf_u~1.offset);havoc fmod_float_~#gf_u~1.base, fmod_float_~#gf_u~1.offset; VAL [ULTIMATE.start_fmod_float_~hx~0=840, ULTIMATE.start_fmod_float_~hy~0=0, ULTIMATE.start_fmod_float_~x=2.0, ULTIMATE.start_fmod_float_~y=10.0, ULTIMATE.start_isfinite_float_~ix~1=0, ULTIMATE.start_isfinite_float_~x=2.0, ULTIMATE.start_main_~x~0=2.0, ULTIMATE.start_main_~y~0=10.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start_fmod_float_#in~x|=2.0, |ULTIMATE.start_fmod_float_#in~y|=10.0, |ULTIMATE.start_isfinite_float_#in~x|=2.0, |ULTIMATE.start_isfinite_float_#res|=1, |~#Zero_fmod~0.base|=2, |~#Zero_fmod~0.offset|=0, ~one_fmod~0=1.0] [?] goto; VAL [ULTIMATE.start_fmod_float_~hx~0=840, ULTIMATE.start_fmod_float_~hy~0=0, ULTIMATE.start_fmod_float_~x=2.0, ULTIMATE.start_fmod_float_~y=10.0, ULTIMATE.start_isfinite_float_~ix~1=0, ULTIMATE.start_isfinite_float_~x=2.0, ULTIMATE.start_main_~x~0=2.0, ULTIMATE.start_main_~y~0=10.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start_fmod_float_#in~x|=2.0, |ULTIMATE.start_fmod_float_#in~y|=10.0, |ULTIMATE.start_isfinite_float_#in~x|=2.0, |ULTIMATE.start_isfinite_float_#res|=1, |~#Zero_fmod~0.base|=2, |~#Zero_fmod~0.offset|=0, ~one_fmod~0=1.0] [?] fmod_float_~sx~0 := (if ~bitwiseAnd(fmod_float_~hx~0, 2147483648) % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseAnd(fmod_float_~hx~0, 2147483648) % 4294967296 % 4294967296 else ~bitwiseAnd(fmod_float_~hx~0, 2147483648) % 4294967296 % 4294967296 - 4294967296);fmod_float_~hx~0 := ~bitwiseXor(fmod_float_~hx~0, fmod_float_~sx~0);fmod_float_~hy~0 := ~bitwiseAnd(fmod_float_~hy~0, 2147483647); VAL [ULTIMATE.start_fmod_float_~sx~0=8586, ULTIMATE.start_fmod_float_~x=2.0, ULTIMATE.start_fmod_float_~y=10.0, ULTIMATE.start_isfinite_float_~ix~1=0, ULTIMATE.start_isfinite_float_~x=2.0, ULTIMATE.start_main_~x~0=2.0, ULTIMATE.start_main_~y~0=10.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start_fmod_float_#in~x|=2.0, |ULTIMATE.start_fmod_float_#in~y|=10.0, |ULTIMATE.start_isfinite_float_#in~x|=2.0, |ULTIMATE.start_isfinite_float_#res|=1, |~#Zero_fmod~0.base|=2, |~#Zero_fmod~0.offset|=0, ~one_fmod~0=1.0] [?] assume (0 == fmod_float_~hy~0 || !(fmod_float_~hx~0 < 2139095040)) || fmod_float_~hy~0 > 2139095040;fmod_float_#res := ~someBinaryArithmeticFLOAToperation(~someBinaryArithmeticFLOAToperation(fmod_float_~x, fmod_float_~y), ~someBinaryArithmeticFLOAToperation(fmod_float_~x, fmod_float_~y)); VAL [ULTIMATE.start_fmod_float_~hx~0=0, ULTIMATE.start_fmod_float_~hy~0=2139095041, ULTIMATE.start_fmod_float_~sx~0=8586, ULTIMATE.start_fmod_float_~x=2.0, ULTIMATE.start_fmod_float_~y=10.0, ULTIMATE.start_isfinite_float_~ix~1=0, ULTIMATE.start_isfinite_float_~x=2.0, ULTIMATE.start_main_~x~0=2.0, ULTIMATE.start_main_~y~0=10.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start_fmod_float_#in~x|=2.0, |ULTIMATE.start_fmod_float_#in~y|=10.0, |ULTIMATE.start_isfinite_float_#in~x|=2.0, |ULTIMATE.start_isfinite_float_#res|=1, |~#Zero_fmod~0.base|=2, |~#Zero_fmod~0.offset|=0, ~one_fmod~0=1.0] [?] main_#t~ret16 := fmod_float_#res;main_~res~0 := main_#t~ret16;havoc main_#t~ret16; VAL [ULTIMATE.start_fmod_float_~hx~0=0, ULTIMATE.start_fmod_float_~hy~0=2139095041, ULTIMATE.start_fmod_float_~sx~0=8586, ULTIMATE.start_fmod_float_~x=2.0, ULTIMATE.start_fmod_float_~y=10.0, ULTIMATE.start_isfinite_float_~ix~1=0, ULTIMATE.start_isfinite_float_~x=2.0, ULTIMATE.start_main_~res~0=11.0, ULTIMATE.start_main_~x~0=2.0, ULTIMATE.start_main_~y~0=10.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start_fmod_float_#in~x|=2.0, |ULTIMATE.start_fmod_float_#in~y|=10.0, |ULTIMATE.start_fmod_float_#res|=11.0, |ULTIMATE.start_isfinite_float_#in~x|=2.0, |ULTIMATE.start_isfinite_float_#res|=1, |~#Zero_fmod~0.base|=2, |~#Zero_fmod~0.offset|=0, ~one_fmod~0=1.0] [?] assume ~someBinaryFLOATComparisonOperation(main_~res~0, main_~x~0); VAL [ULTIMATE.start_fmod_float_~hx~0=0, ULTIMATE.start_fmod_float_~hy~0=2139095041, ULTIMATE.start_fmod_float_~sx~0=8586, ULTIMATE.start_fmod_float_~x=2.0, ULTIMATE.start_fmod_float_~y=10.0, ULTIMATE.start_isfinite_float_~ix~1=0, ULTIMATE.start_isfinite_float_~x=2.0, ULTIMATE.start_main_~res~0=11.0, ULTIMATE.start_main_~x~0=2.0, ULTIMATE.start_main_~y~0=10.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start_fmod_float_#in~x|=2.0, |ULTIMATE.start_fmod_float_#in~y|=10.0, |ULTIMATE.start_fmod_float_#res|=11.0, |ULTIMATE.start_isfinite_float_#in~x|=2.0, |ULTIMATE.start_isfinite_float_#res|=1, |~#Zero_fmod~0.base|=2, |~#Zero_fmod~0.offset|=0, ~one_fmod~0=1.0] [?] assume !false; VAL [ULTIMATE.start_fmod_float_~hx~0=0, ULTIMATE.start_fmod_float_~hy~0=2139095041, ULTIMATE.start_fmod_float_~sx~0=8586, ULTIMATE.start_fmod_float_~x=2.0, ULTIMATE.start_fmod_float_~y=10.0, ULTIMATE.start_isfinite_float_~ix~1=0, ULTIMATE.start_isfinite_float_~x=2.0, ULTIMATE.start_main_~res~0=11.0, ULTIMATE.start_main_~x~0=2.0, ULTIMATE.start_main_~y~0=10.0, |#NULL.base|=0, |#NULL.offset|=0, |ULTIMATE.start_fmod_float_#in~x|=2.0, |ULTIMATE.start_fmod_float_#in~y|=10.0, |ULTIMATE.start_fmod_float_#res|=11.0, |ULTIMATE.start_isfinite_float_#in~x|=2.0, |ULTIMATE.start_isfinite_float_#res|=1, |~#Zero_fmod~0.base|=2, |~#Zero_fmod~0.offset|=0, ~one_fmod~0=1.0] [?] #NULL.base, #NULL.offset := 0, 0; [?] #valid := #valid[0 := 0]; [L12-L15] ~one_fmod~0 := 1.0; [L12-L15] call ~#Zero_fmod~0.base, ~#Zero_fmod~0.offset := #Ultimate.alloc(8); [L12-L15] call write~init~real(0.0, ~#Zero_fmod~0.base, ~#Zero_fmod~0.offset, 4); [L12-L15] call write~init~real(~someUnaryDOUBLEoperation(0.0), ~#Zero_fmod~0.base, 4 + ~#Zero_fmod~0.offset, 4); [?] havoc main_#res; [?] havoc main_#t~nondet14, main_#t~ret15, main_#t~ret16, main_~res~0, main_~x~0, main_~y~0; [L126] main_~x~0 := main_#t~nondet14; [L126] havoc main_#t~nondet14; [L127] main_~y~0 := ~someBinaryArithmeticFLOAToperation(~someUnaryFLOAToperation(1.0), 0.0); [L129] isfinite_float_#in~x := main_~x~0; [L129] havoc isfinite_float_#res; [L129] havoc isfinite_float_#t~mem12, isfinite_float_#t~union13, isfinite_float_~#gf_u~2.base, isfinite_float_~#gf_u~2.offset, isfinite_float_~x, isfinite_float_~ix~1; [L108-L117] isfinite_float_~x := isfinite_float_#in~x; [L109] havoc isfinite_float_~ix~1; VAL [#NULL.base=0, #NULL.offset=0, isfinite_float_#in~x=2.0, isfinite_float_~x=2.0, main_~x~0=2.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [L111] call isfinite_float_~#gf_u~2.base, isfinite_float_~#gf_u~2.offset := #Ultimate.alloc(4); [L112] call write~real(isfinite_float_~x, isfinite_float_~#gf_u~2.base, isfinite_float_~#gf_u~2.offset, 4); [L113] call isfinite_float_#t~mem12 := read~int(isfinite_float_~#gf_u~2.base, isfinite_float_~#gf_u~2.offset, 4); [L113] isfinite_float_~ix~1 := (if isfinite_float_#t~mem12 % 4294967296 % 4294967296 <= 2147483647 then isfinite_float_#t~mem12 % 4294967296 % 4294967296 else isfinite_float_#t~mem12 % 4294967296 % 4294967296 - 4294967296); [L113] call write~real(isfinite_float_#t~union13, isfinite_float_~#gf_u~2.base, isfinite_float_~#gf_u~2.offset, 4); [L113] havoc isfinite_float_#t~union13; [L113] havoc isfinite_float_#t~mem12; [L111] call ULTIMATE.dealloc(isfinite_float_~#gf_u~2.base, isfinite_float_~#gf_u~2.offset); [L111] havoc isfinite_float_~#gf_u~2.base, isfinite_float_~#gf_u~2.offset; VAL [#NULL.base=0, #NULL.offset=0, isfinite_float_#in~x=2.0, isfinite_float_~ix~1=0, isfinite_float_~x=2.0, main_~x~0=2.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [L115] isfinite_float_~ix~1 := ~bitwiseAnd(isfinite_float_~ix~1, 2147483647); [L116] isfinite_float_#res := (if isfinite_float_~ix~1 < 2139095040 then 1 else 0); [L129] main_#t~ret15 := isfinite_float_#res; [L129] assume -2147483648 <= main_#t~ret15 && main_#t~ret15 <= 2147483647; VAL [#NULL.base=0, #NULL.offset=0, isfinite_float_#in~x=2.0, isfinite_float_#res=1, isfinite_float_~ix~1=0, isfinite_float_~x=2.0, main_#t~ret15=1, main_~x~0=2.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [L129-L138] assume 0 != main_#t~ret15; [L129] havoc main_#t~ret15; [L131] fmod_float_#in~x, fmod_float_#in~y := main_~x~0, main_~y~0; [L131] havoc fmod_float_#res; [L131] havoc fmod_float_#t~mem0, fmod_float_#t~union1, fmod_float_~#gf_u~0.base, fmod_float_~#gf_u~0.offset, fmod_float_#t~mem2, fmod_float_#t~union3, fmod_float_~#gf_u~1.base, fmod_float_~#gf_u~1.offset, fmod_float_#t~mem4, fmod_float_#t~mem6, fmod_float_#t~post5, fmod_float_#t~mem7, fmod_float_#t~mem8, fmod_float_#t~union9, fmod_float_~#sf_u~0.base, fmod_float_~#sf_u~0.offset, fmod_float_#t~mem10, fmod_float_#t~union11, fmod_float_~#sf_u~1.base, fmod_float_~#sf_u~1.offset, fmod_float_~x, fmod_float_~y, fmod_float_~n~0, fmod_float_~hx~0, fmod_float_~hy~0, fmod_float_~hz~0, fmod_float_~ix~0, fmod_float_~iy~0, fmod_float_~sx~0, fmod_float_~i~0; [L17-L105] fmod_float_~x := fmod_float_#in~x; [L17-L105] fmod_float_~y := fmod_float_#in~y; [L18] havoc fmod_float_~n~0; [L18] havoc fmod_float_~hx~0; [L18] havoc fmod_float_~hy~0; [L18] havoc fmod_float_~hz~0; [L18] havoc fmod_float_~ix~0; [L18] havoc fmod_float_~iy~0; [L18] havoc fmod_float_~sx~0; [L18] havoc fmod_float_~i~0; VAL [#NULL.base=0, #NULL.offset=0, fmod_float_#in~x=2.0, fmod_float_#in~y=10.0, fmod_float_~x=2.0, fmod_float_~y=10.0, isfinite_float_#in~x=2.0, isfinite_float_#res=1, isfinite_float_~ix~1=0, isfinite_float_~x=2.0, main_~x~0=2.0, main_~y~0=10.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [L21] call fmod_float_~#gf_u~0.base, fmod_float_~#gf_u~0.offset := #Ultimate.alloc(4); [L22] call write~real(fmod_float_~x, fmod_float_~#gf_u~0.base, fmod_float_~#gf_u~0.offset, 4); [L23] call fmod_float_#t~mem0 := read~int(fmod_float_~#gf_u~0.base, fmod_float_~#gf_u~0.offset, 4); [L23] fmod_float_~hx~0 := (if fmod_float_#t~mem0 % 4294967296 % 4294967296 <= 2147483647 then fmod_float_#t~mem0 % 4294967296 % 4294967296 else fmod_float_#t~mem0 % 4294967296 % 4294967296 - 4294967296); [L23] call write~real(fmod_float_#t~union1, fmod_float_~#gf_u~0.base, fmod_float_~#gf_u~0.offset, 4); [L23] havoc fmod_float_#t~union1; [L23] havoc fmod_float_#t~mem0; [L21] call ULTIMATE.dealloc(fmod_float_~#gf_u~0.base, fmod_float_~#gf_u~0.offset); [L21] havoc fmod_float_~#gf_u~0.base, fmod_float_~#gf_u~0.offset; VAL [#NULL.base=0, #NULL.offset=0, fmod_float_#in~x=2.0, fmod_float_#in~y=10.0, fmod_float_~hx~0=840, fmod_float_~x=2.0, fmod_float_~y=10.0, isfinite_float_#in~x=2.0, isfinite_float_#res=1, isfinite_float_~ix~1=0, isfinite_float_~x=2.0, main_~x~0=2.0, main_~y~0=10.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [L26] call fmod_float_~#gf_u~1.base, fmod_float_~#gf_u~1.offset := #Ultimate.alloc(4); [L27] call write~real(fmod_float_~y, fmod_float_~#gf_u~1.base, fmod_float_~#gf_u~1.offset, 4); [L28] call fmod_float_#t~mem2 := read~int(fmod_float_~#gf_u~1.base, fmod_float_~#gf_u~1.offset, 4); [L28] fmod_float_~hy~0 := (if fmod_float_#t~mem2 % 4294967296 % 4294967296 <= 2147483647 then fmod_float_#t~mem2 % 4294967296 % 4294967296 else fmod_float_#t~mem2 % 4294967296 % 4294967296 - 4294967296); [L28] call write~real(fmod_float_#t~union3, fmod_float_~#gf_u~1.base, fmod_float_~#gf_u~1.offset, 4); [L28] havoc fmod_float_#t~union3; [L28] havoc fmod_float_#t~mem2; [L26] call ULTIMATE.dealloc(fmod_float_~#gf_u~1.base, fmod_float_~#gf_u~1.offset); [L26] havoc fmod_float_~#gf_u~1.base, fmod_float_~#gf_u~1.offset; VAL [#NULL.base=0, #NULL.offset=0, fmod_float_#in~x=2.0, fmod_float_#in~y=10.0, fmod_float_~hx~0=840, fmod_float_~hy~0=0, fmod_float_~x=2.0, fmod_float_~y=10.0, isfinite_float_#in~x=2.0, isfinite_float_#res=1, isfinite_float_~ix~1=0, isfinite_float_~x=2.0, main_~x~0=2.0, main_~y~0=10.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [L30] fmod_float_~sx~0 := (if ~bitwiseAnd(fmod_float_~hx~0, 2147483648) % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseAnd(fmod_float_~hx~0, 2147483648) % 4294967296 % 4294967296 else ~bitwiseAnd(fmod_float_~hx~0, 2147483648) % 4294967296 % 4294967296 - 4294967296); [L31] fmod_float_~hx~0 := ~bitwiseXor(fmod_float_~hx~0, fmod_float_~sx~0); [L32] fmod_float_~hy~0 := ~bitwiseAnd(fmod_float_~hy~0, 2147483647); VAL [#NULL.base=0, #NULL.offset=0, fmod_float_#in~x=2.0, fmod_float_#in~y=10.0, fmod_float_~sx~0=8586, fmod_float_~x=2.0, fmod_float_~y=10.0, isfinite_float_#in~x=2.0, isfinite_float_#res=1, isfinite_float_~ix~1=0, isfinite_float_~x=2.0, main_~x~0=2.0, main_~y~0=10.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [L34-L35] assume (0 == fmod_float_~hy~0 || !(fmod_float_~hx~0 < 2139095040)) || fmod_float_~hy~0 > 2139095040; [L35] fmod_float_#res := ~someBinaryArithmeticFLOAToperation(~someBinaryArithmeticFLOAToperation(fmod_float_~x, fmod_float_~y), ~someBinaryArithmeticFLOAToperation(fmod_float_~x, fmod_float_~y)); VAL [#NULL.base=0, #NULL.offset=0, fmod_float_#in~x=2.0, fmod_float_#in~y=10.0, fmod_float_~hx~0=0, fmod_float_~hy~0=2139095041, fmod_float_~sx~0=8586, fmod_float_~x=2.0, fmod_float_~y=10.0, isfinite_float_#in~x=2.0, isfinite_float_#res=1, isfinite_float_~ix~1=0, isfinite_float_~x=2.0, main_~x~0=2.0, main_~y~0=10.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [L131] main_#t~ret16 := fmod_float_#res; [L131] main_~res~0 := main_#t~ret16; [L131] havoc main_#t~ret16; VAL [#NULL.base=0, #NULL.offset=0, fmod_float_#in~x=2.0, fmod_float_#in~y=10.0, fmod_float_#res=11.0, fmod_float_~hx~0=0, fmod_float_~hy~0=2139095041, fmod_float_~sx~0=8586, fmod_float_~x=2.0, fmod_float_~y=10.0, isfinite_float_#in~x=2.0, isfinite_float_#res=1, isfinite_float_~ix~1=0, isfinite_float_~x=2.0, main_~res~0=11.0, main_~x~0=2.0, main_~y~0=10.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [L134-L137] assume ~someBinaryFLOATComparisonOperation(main_~res~0, main_~x~0); VAL [#NULL.base=0, #NULL.offset=0, fmod_float_#in~x=2.0, fmod_float_#in~y=10.0, fmod_float_#res=11.0, fmod_float_~hx~0=0, fmod_float_~hy~0=2139095041, fmod_float_~sx~0=8586, fmod_float_~x=2.0, fmod_float_~y=10.0, isfinite_float_#in~x=2.0, isfinite_float_#res=1, isfinite_float_~ix~1=0, isfinite_float_~x=2.0, main_~res~0=11.0, main_~x~0=2.0, main_~y~0=10.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [L135] assert false; VAL [#NULL.base=0, #NULL.offset=0, fmod_float_#in~x=2.0, fmod_float_#in~y=10.0, fmod_float_#res=11.0, fmod_float_~hx~0=0, fmod_float_~hy~0=2139095041, fmod_float_~sx~0=8586, fmod_float_~x=2.0, fmod_float_~y=10.0, isfinite_float_#in~x=2.0, isfinite_float_#res=1, isfinite_float_~ix~1=0, isfinite_float_~x=2.0, main_~res~0=11.0, main_~x~0=2.0, main_~y~0=10.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] ----- ----- class de.uni_freiburg.informatik.ultimate.boogie.preprocessor.BoogiePreprocessorBacktranslator [?] #NULL.base, #NULL.offset := 0, 0; [?] #valid := #valid[0 := 0]; [L12-L15] ~one_fmod~0 := 1.0; [L12-L15] call ~#Zero_fmod~0.base, ~#Zero_fmod~0.offset := #Ultimate.alloc(8); [L12-L15] call write~init~real(0.0, ~#Zero_fmod~0.base, ~#Zero_fmod~0.offset, 4); [L12-L15] call write~init~real(~someUnaryDOUBLEoperation(0.0), ~#Zero_fmod~0.base, 4 + ~#Zero_fmod~0.offset, 4); [?] havoc main_#res; [?] havoc main_#t~nondet14, main_#t~ret15, main_#t~ret16, main_~res~0, main_~x~0, main_~y~0; [L126] main_~x~0 := main_#t~nondet14; [L126] havoc main_#t~nondet14; [L127] main_~y~0 := ~someBinaryArithmeticFLOAToperation(~someUnaryFLOAToperation(1.0), 0.0); [L129] isfinite_float_#in~x := main_~x~0; [L129] havoc isfinite_float_#res; [L129] havoc isfinite_float_#t~mem12, isfinite_float_#t~union13, isfinite_float_~#gf_u~2.base, isfinite_float_~#gf_u~2.offset, isfinite_float_~x, isfinite_float_~ix~1; [L108-L117] isfinite_float_~x := isfinite_float_#in~x; [L109] havoc isfinite_float_~ix~1; VAL [#NULL.base=0, #NULL.offset=0, isfinite_float_#in~x=2.0, isfinite_float_~x=2.0, main_~x~0=2.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [L111] call isfinite_float_~#gf_u~2.base, isfinite_float_~#gf_u~2.offset := #Ultimate.alloc(4); [L112] call write~real(isfinite_float_~x, isfinite_float_~#gf_u~2.base, isfinite_float_~#gf_u~2.offset, 4); [L113] call isfinite_float_#t~mem12 := read~int(isfinite_float_~#gf_u~2.base, isfinite_float_~#gf_u~2.offset, 4); [L113] isfinite_float_~ix~1 := (if isfinite_float_#t~mem12 % 4294967296 % 4294967296 <= 2147483647 then isfinite_float_#t~mem12 % 4294967296 % 4294967296 else isfinite_float_#t~mem12 % 4294967296 % 4294967296 - 4294967296); [L113] call write~real(isfinite_float_#t~union13, isfinite_float_~#gf_u~2.base, isfinite_float_~#gf_u~2.offset, 4); [L113] havoc isfinite_float_#t~union13; [L113] havoc isfinite_float_#t~mem12; [L111] call ULTIMATE.dealloc(isfinite_float_~#gf_u~2.base, isfinite_float_~#gf_u~2.offset); [L111] havoc isfinite_float_~#gf_u~2.base, isfinite_float_~#gf_u~2.offset; VAL [#NULL.base=0, #NULL.offset=0, isfinite_float_#in~x=2.0, isfinite_float_~ix~1=0, isfinite_float_~x=2.0, main_~x~0=2.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [L115] isfinite_float_~ix~1 := ~bitwiseAnd(isfinite_float_~ix~1, 2147483647); [L116] isfinite_float_#res := (if isfinite_float_~ix~1 < 2139095040 then 1 else 0); [L129] main_#t~ret15 := isfinite_float_#res; [L129] assume -2147483648 <= main_#t~ret15 && main_#t~ret15 <= 2147483647; VAL [#NULL.base=0, #NULL.offset=0, isfinite_float_#in~x=2.0, isfinite_float_#res=1, isfinite_float_~ix~1=0, isfinite_float_~x=2.0, main_#t~ret15=1, main_~x~0=2.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [L129-L138] assume 0 != main_#t~ret15; [L129] havoc main_#t~ret15; [L131] fmod_float_#in~x, fmod_float_#in~y := main_~x~0, main_~y~0; [L131] havoc fmod_float_#res; [L131] havoc fmod_float_#t~mem0, fmod_float_#t~union1, fmod_float_~#gf_u~0.base, fmod_float_~#gf_u~0.offset, fmod_float_#t~mem2, fmod_float_#t~union3, fmod_float_~#gf_u~1.base, fmod_float_~#gf_u~1.offset, fmod_float_#t~mem4, fmod_float_#t~mem6, fmod_float_#t~post5, fmod_float_#t~mem7, fmod_float_#t~mem8, fmod_float_#t~union9, fmod_float_~#sf_u~0.base, fmod_float_~#sf_u~0.offset, fmod_float_#t~mem10, fmod_float_#t~union11, fmod_float_~#sf_u~1.base, fmod_float_~#sf_u~1.offset, fmod_float_~x, fmod_float_~y, fmod_float_~n~0, fmod_float_~hx~0, fmod_float_~hy~0, fmod_float_~hz~0, fmod_float_~ix~0, fmod_float_~iy~0, fmod_float_~sx~0, fmod_float_~i~0; [L17-L105] fmod_float_~x := fmod_float_#in~x; [L17-L105] fmod_float_~y := fmod_float_#in~y; [L18] havoc fmod_float_~n~0; [L18] havoc fmod_float_~hx~0; [L18] havoc fmod_float_~hy~0; [L18] havoc fmod_float_~hz~0; [L18] havoc fmod_float_~ix~0; [L18] havoc fmod_float_~iy~0; [L18] havoc fmod_float_~sx~0; [L18] havoc fmod_float_~i~0; VAL [#NULL.base=0, #NULL.offset=0, fmod_float_#in~x=2.0, fmod_float_#in~y=10.0, fmod_float_~x=2.0, fmod_float_~y=10.0, isfinite_float_#in~x=2.0, isfinite_float_#res=1, isfinite_float_~ix~1=0, isfinite_float_~x=2.0, main_~x~0=2.0, main_~y~0=10.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [L21] call fmod_float_~#gf_u~0.base, fmod_float_~#gf_u~0.offset := #Ultimate.alloc(4); [L22] call write~real(fmod_float_~x, fmod_float_~#gf_u~0.base, fmod_float_~#gf_u~0.offset, 4); [L23] call fmod_float_#t~mem0 := read~int(fmod_float_~#gf_u~0.base, fmod_float_~#gf_u~0.offset, 4); [L23] fmod_float_~hx~0 := (if fmod_float_#t~mem0 % 4294967296 % 4294967296 <= 2147483647 then fmod_float_#t~mem0 % 4294967296 % 4294967296 else fmod_float_#t~mem0 % 4294967296 % 4294967296 - 4294967296); [L23] call write~real(fmod_float_#t~union1, fmod_float_~#gf_u~0.base, fmod_float_~#gf_u~0.offset, 4); [L23] havoc fmod_float_#t~union1; [L23] havoc fmod_float_#t~mem0; [L21] call ULTIMATE.dealloc(fmod_float_~#gf_u~0.base, fmod_float_~#gf_u~0.offset); [L21] havoc fmod_float_~#gf_u~0.base, fmod_float_~#gf_u~0.offset; VAL [#NULL.base=0, #NULL.offset=0, fmod_float_#in~x=2.0, fmod_float_#in~y=10.0, fmod_float_~hx~0=840, fmod_float_~x=2.0, fmod_float_~y=10.0, isfinite_float_#in~x=2.0, isfinite_float_#res=1, isfinite_float_~ix~1=0, isfinite_float_~x=2.0, main_~x~0=2.0, main_~y~0=10.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [L26] call fmod_float_~#gf_u~1.base, fmod_float_~#gf_u~1.offset := #Ultimate.alloc(4); [L27] call write~real(fmod_float_~y, fmod_float_~#gf_u~1.base, fmod_float_~#gf_u~1.offset, 4); [L28] call fmod_float_#t~mem2 := read~int(fmod_float_~#gf_u~1.base, fmod_float_~#gf_u~1.offset, 4); [L28] fmod_float_~hy~0 := (if fmod_float_#t~mem2 % 4294967296 % 4294967296 <= 2147483647 then fmod_float_#t~mem2 % 4294967296 % 4294967296 else fmod_float_#t~mem2 % 4294967296 % 4294967296 - 4294967296); [L28] call write~real(fmod_float_#t~union3, fmod_float_~#gf_u~1.base, fmod_float_~#gf_u~1.offset, 4); [L28] havoc fmod_float_#t~union3; [L28] havoc fmod_float_#t~mem2; [L26] call ULTIMATE.dealloc(fmod_float_~#gf_u~1.base, fmod_float_~#gf_u~1.offset); [L26] havoc fmod_float_~#gf_u~1.base, fmod_float_~#gf_u~1.offset; VAL [#NULL.base=0, #NULL.offset=0, fmod_float_#in~x=2.0, fmod_float_#in~y=10.0, fmod_float_~hx~0=840, fmod_float_~hy~0=0, fmod_float_~x=2.0, fmod_float_~y=10.0, isfinite_float_#in~x=2.0, isfinite_float_#res=1, isfinite_float_~ix~1=0, isfinite_float_~x=2.0, main_~x~0=2.0, main_~y~0=10.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [L30] fmod_float_~sx~0 := (if ~bitwiseAnd(fmod_float_~hx~0, 2147483648) % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseAnd(fmod_float_~hx~0, 2147483648) % 4294967296 % 4294967296 else ~bitwiseAnd(fmod_float_~hx~0, 2147483648) % 4294967296 % 4294967296 - 4294967296); [L31] fmod_float_~hx~0 := ~bitwiseXor(fmod_float_~hx~0, fmod_float_~sx~0); [L32] fmod_float_~hy~0 := ~bitwiseAnd(fmod_float_~hy~0, 2147483647); VAL [#NULL.base=0, #NULL.offset=0, fmod_float_#in~x=2.0, fmod_float_#in~y=10.0, fmod_float_~sx~0=8586, fmod_float_~x=2.0, fmod_float_~y=10.0, isfinite_float_#in~x=2.0, isfinite_float_#res=1, isfinite_float_~ix~1=0, isfinite_float_~x=2.0, main_~x~0=2.0, main_~y~0=10.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [L34-L35] assume (0 == fmod_float_~hy~0 || !(fmod_float_~hx~0 < 2139095040)) || fmod_float_~hy~0 > 2139095040; [L35] fmod_float_#res := ~someBinaryArithmeticFLOAToperation(~someBinaryArithmeticFLOAToperation(fmod_float_~x, fmod_float_~y), ~someBinaryArithmeticFLOAToperation(fmod_float_~x, fmod_float_~y)); VAL [#NULL.base=0, #NULL.offset=0, fmod_float_#in~x=2.0, fmod_float_#in~y=10.0, fmod_float_~hx~0=0, fmod_float_~hy~0=2139095041, fmod_float_~sx~0=8586, fmod_float_~x=2.0, fmod_float_~y=10.0, isfinite_float_#in~x=2.0, isfinite_float_#res=1, isfinite_float_~ix~1=0, isfinite_float_~x=2.0, main_~x~0=2.0, main_~y~0=10.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [L131] main_#t~ret16 := fmod_float_#res; [L131] main_~res~0 := main_#t~ret16; [L131] havoc main_#t~ret16; VAL [#NULL.base=0, #NULL.offset=0, fmod_float_#in~x=2.0, fmod_float_#in~y=10.0, fmod_float_#res=11.0, fmod_float_~hx~0=0, fmod_float_~hy~0=2139095041, fmod_float_~sx~0=8586, fmod_float_~x=2.0, fmod_float_~y=10.0, isfinite_float_#in~x=2.0, isfinite_float_#res=1, isfinite_float_~ix~1=0, isfinite_float_~x=2.0, main_~res~0=11.0, main_~x~0=2.0, main_~y~0=10.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [L134-L137] assume ~someBinaryFLOATComparisonOperation(main_~res~0, main_~x~0); VAL [#NULL.base=0, #NULL.offset=0, fmod_float_#in~x=2.0, fmod_float_#in~y=10.0, fmod_float_#res=11.0, fmod_float_~hx~0=0, fmod_float_~hy~0=2139095041, fmod_float_~sx~0=8586, fmod_float_~x=2.0, fmod_float_~y=10.0, isfinite_float_#in~x=2.0, isfinite_float_#res=1, isfinite_float_~ix~1=0, isfinite_float_~x=2.0, main_~res~0=11.0, main_~x~0=2.0, main_~y~0=10.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [L135] assert false; VAL [#NULL.base=0, #NULL.offset=0, fmod_float_#in~x=2.0, fmod_float_#in~y=10.0, fmod_float_#res=11.0, fmod_float_~hx~0=0, fmod_float_~hy~0=2139095041, fmod_float_~sx~0=8586, fmod_float_~x=2.0, fmod_float_~y=10.0, isfinite_float_#in~x=2.0, isfinite_float_#res=1, isfinite_float_~ix~1=0, isfinite_float_~x=2.0, main_~res~0=11.0, main_~x~0=2.0, main_~y~0=10.0, ~#Zero_fmod~0.base=2, ~#Zero_fmod~0.offset=0, ~one_fmod~0=1.0] [?] #NULL := { base: 0, offset: 0 }; [?] #valid[0] := 0; [L12-L15] ~one_fmod~0 := 1.0; [L12-L15] FCALL call ~#Zero_fmod~0 := #Ultimate.alloc(8); [L12-L15] FCALL call write~init~real(0.0, { base: ~#Zero_fmod~0!base, offset: ~#Zero_fmod~0!offset }, 4); [L12-L15] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.0), { base: ~#Zero_fmod~0!base, offset: 4 + ~#Zero_fmod~0!offset }, 4); [?] havoc main_#res; [?] havoc main_#t~nondet14, main_#t~ret15, main_#t~ret16, main_~res~0, main_~x~0, main_~y~0; [L126] main_~x~0 := main_#t~nondet14; [L126] havoc main_#t~nondet14; [L127] main_~y~0 := ~someBinaryArithmeticFLOAToperation(~someUnaryFLOAToperation(1.0), 0.0); [L129] isfinite_float_#in~x := main_~x~0; [L129] havoc isfinite_float_#res; [L129] havoc isfinite_float_#t~mem12, isfinite_float_#t~union13, isfinite_float_~#gf_u~2, isfinite_float_~x, isfinite_float_~ix~1; [L108-L117] isfinite_float_~x := isfinite_float_#in~x; [L109] havoc isfinite_float_~ix~1; VAL [#NULL!base=0, #NULL!offset=0, isfinite_float_#in~x=2.0, isfinite_float_~x=2.0, main_~x~0=2.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L111] FCALL call isfinite_float_~#gf_u~2 := #Ultimate.alloc(4); [L112] FCALL call write~real(isfinite_float_~x, { base: isfinite_float_~#gf_u~2!base, offset: isfinite_float_~#gf_u~2!offset }, 4); [L113] FCALL call isfinite_float_#t~mem12 := read~int({ base: isfinite_float_~#gf_u~2!base, offset: isfinite_float_~#gf_u~2!offset }, 4); [L113] isfinite_float_~ix~1 := (if isfinite_float_#t~mem12 % 4294967296 % 4294967296 <= 2147483647 then isfinite_float_#t~mem12 % 4294967296 % 4294967296 else isfinite_float_#t~mem12 % 4294967296 % 4294967296 - 4294967296); [L113] FCALL call write~real(isfinite_float_#t~union13, { base: isfinite_float_~#gf_u~2!base, offset: isfinite_float_~#gf_u~2!offset }, 4); [L113] havoc isfinite_float_#t~union13; [L113] havoc isfinite_float_#t~mem12; [L111] FCALL call ULTIMATE.dealloc(isfinite_float_~#gf_u~2); [L111] havoc isfinite_float_~#gf_u~2; VAL [#NULL!base=0, #NULL!offset=0, isfinite_float_#in~x=2.0, isfinite_float_~ix~1=0, isfinite_float_~x=2.0, main_~x~0=2.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L115] isfinite_float_~ix~1 := ~bitwiseAnd(isfinite_float_~ix~1, 2147483647); [L116] isfinite_float_#res := (if isfinite_float_~ix~1 < 2139095040 then 1 else 0); [L129] main_#t~ret15 := isfinite_float_#res; [L129] assume -2147483648 <= main_#t~ret15 && main_#t~ret15 <= 2147483647; VAL [#NULL!base=0, #NULL!offset=0, isfinite_float_#in~x=2.0, isfinite_float_#res=1, isfinite_float_~ix~1=0, isfinite_float_~x=2.0, main_#t~ret15=1, main_~x~0=2.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L129-L138] COND TRUE 0 != main_#t~ret15 [L129] havoc main_#t~ret15; [L131] fmod_float_#in~x, fmod_float_#in~y := main_~x~0, main_~y~0; [L131] havoc fmod_float_#res; [L131] havoc fmod_float_#t~mem0, fmod_float_#t~union1, fmod_float_~#gf_u~0, fmod_float_#t~mem2, fmod_float_#t~union3, fmod_float_~#gf_u~1, fmod_float_#t~mem4, fmod_float_#t~mem6, fmod_float_#t~post5, fmod_float_#t~mem7, fmod_float_#t~mem8, fmod_float_#t~union9, fmod_float_~#sf_u~0, fmod_float_#t~mem10, fmod_float_#t~union11, fmod_float_~#sf_u~1, fmod_float_~x, fmod_float_~y, fmod_float_~n~0, fmod_float_~hx~0, fmod_float_~hy~0, fmod_float_~hz~0, fmod_float_~ix~0, fmod_float_~iy~0, fmod_float_~sx~0, fmod_float_~i~0; [L17-L105] fmod_float_~x := fmod_float_#in~x; [L17-L105] fmod_float_~y := fmod_float_#in~y; [L18] havoc fmod_float_~n~0; [L18] havoc fmod_float_~hx~0; [L18] havoc fmod_float_~hy~0; [L18] havoc fmod_float_~hz~0; [L18] havoc fmod_float_~ix~0; [L18] havoc fmod_float_~iy~0; [L18] havoc fmod_float_~sx~0; [L18] havoc fmod_float_~i~0; VAL [#NULL!base=0, #NULL!offset=0, fmod_float_#in~x=2.0, fmod_float_#in~y=10.0, fmod_float_~x=2.0, fmod_float_~y=10.0, isfinite_float_#in~x=2.0, isfinite_float_#res=1, isfinite_float_~ix~1=0, isfinite_float_~x=2.0, main_~x~0=2.0, main_~y~0=10.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L21] FCALL call fmod_float_~#gf_u~0 := #Ultimate.alloc(4); [L22] FCALL call write~real(fmod_float_~x, { base: fmod_float_~#gf_u~0!base, offset: fmod_float_~#gf_u~0!offset }, 4); [L23] FCALL call fmod_float_#t~mem0 := read~int({ base: fmod_float_~#gf_u~0!base, offset: fmod_float_~#gf_u~0!offset }, 4); [L23] fmod_float_~hx~0 := (if fmod_float_#t~mem0 % 4294967296 % 4294967296 <= 2147483647 then fmod_float_#t~mem0 % 4294967296 % 4294967296 else fmod_float_#t~mem0 % 4294967296 % 4294967296 - 4294967296); [L23] FCALL call write~real(fmod_float_#t~union1, { base: fmod_float_~#gf_u~0!base, offset: fmod_float_~#gf_u~0!offset }, 4); [L23] havoc fmod_float_#t~union1; [L23] havoc fmod_float_#t~mem0; [L21] FCALL call ULTIMATE.dealloc(fmod_float_~#gf_u~0); [L21] havoc fmod_float_~#gf_u~0; VAL [#NULL!base=0, #NULL!offset=0, fmod_float_#in~x=2.0, fmod_float_#in~y=10.0, fmod_float_~hx~0=840, fmod_float_~x=2.0, fmod_float_~y=10.0, isfinite_float_#in~x=2.0, isfinite_float_#res=1, isfinite_float_~ix~1=0, isfinite_float_~x=2.0, main_~x~0=2.0, main_~y~0=10.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L26] FCALL call fmod_float_~#gf_u~1 := #Ultimate.alloc(4); [L27] FCALL call write~real(fmod_float_~y, { base: fmod_float_~#gf_u~1!base, offset: fmod_float_~#gf_u~1!offset }, 4); [L28] FCALL call fmod_float_#t~mem2 := read~int({ base: fmod_float_~#gf_u~1!base, offset: fmod_float_~#gf_u~1!offset }, 4); [L28] fmod_float_~hy~0 := (if fmod_float_#t~mem2 % 4294967296 % 4294967296 <= 2147483647 then fmod_float_#t~mem2 % 4294967296 % 4294967296 else fmod_float_#t~mem2 % 4294967296 % 4294967296 - 4294967296); [L28] FCALL call write~real(fmod_float_#t~union3, { base: fmod_float_~#gf_u~1!base, offset: fmod_float_~#gf_u~1!offset }, 4); [L28] havoc fmod_float_#t~union3; [L28] havoc fmod_float_#t~mem2; [L26] FCALL call ULTIMATE.dealloc(fmod_float_~#gf_u~1); [L26] havoc fmod_float_~#gf_u~1; VAL [#NULL!base=0, #NULL!offset=0, fmod_float_#in~x=2.0, fmod_float_#in~y=10.0, fmod_float_~hx~0=840, fmod_float_~hy~0=0, fmod_float_~x=2.0, fmod_float_~y=10.0, isfinite_float_#in~x=2.0, isfinite_float_#res=1, isfinite_float_~ix~1=0, isfinite_float_~x=2.0, main_~x~0=2.0, main_~y~0=10.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L30] fmod_float_~sx~0 := (if ~bitwiseAnd(fmod_float_~hx~0, 2147483648) % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseAnd(fmod_float_~hx~0, 2147483648) % 4294967296 % 4294967296 else ~bitwiseAnd(fmod_float_~hx~0, 2147483648) % 4294967296 % 4294967296 - 4294967296); [L31] fmod_float_~hx~0 := ~bitwiseXor(fmod_float_~hx~0, fmod_float_~sx~0); [L32] fmod_float_~hy~0 := ~bitwiseAnd(fmod_float_~hy~0, 2147483647); VAL [#NULL!base=0, #NULL!offset=0, fmod_float_#in~x=2.0, fmod_float_#in~y=10.0, fmod_float_~sx~0=8586, fmod_float_~x=2.0, fmod_float_~y=10.0, isfinite_float_#in~x=2.0, isfinite_float_#res=1, isfinite_float_~ix~1=0, isfinite_float_~x=2.0, main_~x~0=2.0, main_~y~0=10.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L34] COND TRUE (0 == fmod_float_~hy~0 || !(fmod_float_~hx~0 < 2139095040)) || fmod_float_~hy~0 > 2139095040 [L35] fmod_float_#res := ~someBinaryArithmeticFLOAToperation(~someBinaryArithmeticFLOAToperation(fmod_float_~x, fmod_float_~y), ~someBinaryArithmeticFLOAToperation(fmod_float_~x, fmod_float_~y)); VAL [#NULL!base=0, #NULL!offset=0, fmod_float_#in~x=2.0, fmod_float_#in~y=10.0, fmod_float_~hx~0=0, fmod_float_~hy~0=2139095041, fmod_float_~sx~0=8586, fmod_float_~x=2.0, fmod_float_~y=10.0, isfinite_float_#in~x=2.0, isfinite_float_#res=1, isfinite_float_~ix~1=0, isfinite_float_~x=2.0, main_~x~0=2.0, main_~y~0=10.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L131] main_#t~ret16 := fmod_float_#res; [L131] main_~res~0 := main_#t~ret16; [L131] havoc main_#t~ret16; VAL [#NULL!base=0, #NULL!offset=0, fmod_float_#in~x=2.0, fmod_float_#in~y=10.0, fmod_float_#res=11.0, fmod_float_~hx~0=0, fmod_float_~hy~0=2139095041, fmod_float_~sx~0=8586, fmod_float_~x=2.0, fmod_float_~y=10.0, isfinite_float_#in~x=2.0, isfinite_float_#res=1, isfinite_float_~ix~1=0, isfinite_float_~x=2.0, main_~res~0=11.0, main_~x~0=2.0, main_~y~0=10.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L134] COND TRUE ~someBinaryFLOATComparisonOperation(main_~res~0, main_~x~0) VAL [#NULL!base=0, #NULL!offset=0, fmod_float_#in~x=2.0, fmod_float_#in~y=10.0, fmod_float_#res=11.0, fmod_float_~hx~0=0, fmod_float_~hy~0=2139095041, fmod_float_~sx~0=8586, fmod_float_~x=2.0, fmod_float_~y=10.0, isfinite_float_#in~x=2.0, isfinite_float_#res=1, isfinite_float_~ix~1=0, isfinite_float_~x=2.0, main_~res~0=11.0, main_~x~0=2.0, main_~y~0=10.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L135] assert false; VAL [#NULL!base=0, #NULL!offset=0, fmod_float_#in~x=2.0, fmod_float_#in~y=10.0, fmod_float_#res=11.0, fmod_float_~hx~0=0, fmod_float_~hy~0=2139095041, fmod_float_~sx~0=8586, fmod_float_~x=2.0, fmod_float_~y=10.0, isfinite_float_#in~x=2.0, isfinite_float_#res=1, isfinite_float_~ix~1=0, isfinite_float_~x=2.0, main_~res~0=11.0, main_~x~0=2.0, main_~y~0=10.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] ----- ----- class de.uni_freiburg.informatik.ultimate.boogie.procedureinliner.backtranslation.InlinerBacktranslator [?] #NULL := { base: 0, offset: 0 }; [?] #valid[0] := 0; [L12-L15] ~one_fmod~0 := 1.0; [L12-L15] FCALL call ~#Zero_fmod~0 := #Ultimate.alloc(8); [L12-L15] FCALL call write~init~real(0.0, { base: ~#Zero_fmod~0!base, offset: ~#Zero_fmod~0!offset }, 4); [L12-L15] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.0), { base: ~#Zero_fmod~0!base, offset: 4 + ~#Zero_fmod~0!offset }, 4); [?] havoc main_#res; [?] havoc main_#t~nondet14, main_#t~ret15, main_#t~ret16, main_~res~0, main_~x~0, main_~y~0; [L126] main_~x~0 := main_#t~nondet14; [L126] havoc main_#t~nondet14; [L127] main_~y~0 := ~someBinaryArithmeticFLOAToperation(~someUnaryFLOAToperation(1.0), 0.0); [L129] isfinite_float_#in~x := main_~x~0; [L129] havoc isfinite_float_#res; [L129] havoc isfinite_float_#t~mem12, isfinite_float_#t~union13, isfinite_float_~#gf_u~2, isfinite_float_~x, isfinite_float_~ix~1; [L108-L117] isfinite_float_~x := isfinite_float_#in~x; [L109] havoc isfinite_float_~ix~1; VAL [#NULL!base=0, #NULL!offset=0, isfinite_float_#in~x=2.0, isfinite_float_~x=2.0, main_~x~0=2.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L111] FCALL call isfinite_float_~#gf_u~2 := #Ultimate.alloc(4); [L112] FCALL call write~real(isfinite_float_~x, { base: isfinite_float_~#gf_u~2!base, offset: isfinite_float_~#gf_u~2!offset }, 4); [L113] FCALL call isfinite_float_#t~mem12 := read~int({ base: isfinite_float_~#gf_u~2!base, offset: isfinite_float_~#gf_u~2!offset }, 4); [L113] isfinite_float_~ix~1 := (if isfinite_float_#t~mem12 % 4294967296 % 4294967296 <= 2147483647 then isfinite_float_#t~mem12 % 4294967296 % 4294967296 else isfinite_float_#t~mem12 % 4294967296 % 4294967296 - 4294967296); [L113] FCALL call write~real(isfinite_float_#t~union13, { base: isfinite_float_~#gf_u~2!base, offset: isfinite_float_~#gf_u~2!offset }, 4); [L113] havoc isfinite_float_#t~union13; [L113] havoc isfinite_float_#t~mem12; [L111] FCALL call ULTIMATE.dealloc(isfinite_float_~#gf_u~2); [L111] havoc isfinite_float_~#gf_u~2; VAL [#NULL!base=0, #NULL!offset=0, isfinite_float_#in~x=2.0, isfinite_float_~ix~1=0, isfinite_float_~x=2.0, main_~x~0=2.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L115] isfinite_float_~ix~1 := ~bitwiseAnd(isfinite_float_~ix~1, 2147483647); [L116] isfinite_float_#res := (if isfinite_float_~ix~1 < 2139095040 then 1 else 0); [L129] main_#t~ret15 := isfinite_float_#res; [L129] assume -2147483648 <= main_#t~ret15 && main_#t~ret15 <= 2147483647; VAL [#NULL!base=0, #NULL!offset=0, isfinite_float_#in~x=2.0, isfinite_float_#res=1, isfinite_float_~ix~1=0, isfinite_float_~x=2.0, main_#t~ret15=1, main_~x~0=2.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L129-L138] COND TRUE 0 != main_#t~ret15 [L129] havoc main_#t~ret15; [L131] fmod_float_#in~x, fmod_float_#in~y := main_~x~0, main_~y~0; [L131] havoc fmod_float_#res; [L131] havoc fmod_float_#t~mem0, fmod_float_#t~union1, fmod_float_~#gf_u~0, fmod_float_#t~mem2, fmod_float_#t~union3, fmod_float_~#gf_u~1, fmod_float_#t~mem4, fmod_float_#t~mem6, fmod_float_#t~post5, fmod_float_#t~mem7, fmod_float_#t~mem8, fmod_float_#t~union9, fmod_float_~#sf_u~0, fmod_float_#t~mem10, fmod_float_#t~union11, fmod_float_~#sf_u~1, fmod_float_~x, fmod_float_~y, fmod_float_~n~0, fmod_float_~hx~0, fmod_float_~hy~0, fmod_float_~hz~0, fmod_float_~ix~0, fmod_float_~iy~0, fmod_float_~sx~0, fmod_float_~i~0; [L17-L105] fmod_float_~x := fmod_float_#in~x; [L17-L105] fmod_float_~y := fmod_float_#in~y; [L18] havoc fmod_float_~n~0; [L18] havoc fmod_float_~hx~0; [L18] havoc fmod_float_~hy~0; [L18] havoc fmod_float_~hz~0; [L18] havoc fmod_float_~ix~0; [L18] havoc fmod_float_~iy~0; [L18] havoc fmod_float_~sx~0; [L18] havoc fmod_float_~i~0; VAL [#NULL!base=0, #NULL!offset=0, fmod_float_#in~x=2.0, fmod_float_#in~y=10.0, fmod_float_~x=2.0, fmod_float_~y=10.0, isfinite_float_#in~x=2.0, isfinite_float_#res=1, isfinite_float_~ix~1=0, isfinite_float_~x=2.0, main_~x~0=2.0, main_~y~0=10.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L21] FCALL call fmod_float_~#gf_u~0 := #Ultimate.alloc(4); [L22] FCALL call write~real(fmod_float_~x, { base: fmod_float_~#gf_u~0!base, offset: fmod_float_~#gf_u~0!offset }, 4); [L23] FCALL call fmod_float_#t~mem0 := read~int({ base: fmod_float_~#gf_u~0!base, offset: fmod_float_~#gf_u~0!offset }, 4); [L23] fmod_float_~hx~0 := (if fmod_float_#t~mem0 % 4294967296 % 4294967296 <= 2147483647 then fmod_float_#t~mem0 % 4294967296 % 4294967296 else fmod_float_#t~mem0 % 4294967296 % 4294967296 - 4294967296); [L23] FCALL call write~real(fmod_float_#t~union1, { base: fmod_float_~#gf_u~0!base, offset: fmod_float_~#gf_u~0!offset }, 4); [L23] havoc fmod_float_#t~union1; [L23] havoc fmod_float_#t~mem0; [L21] FCALL call ULTIMATE.dealloc(fmod_float_~#gf_u~0); [L21] havoc fmod_float_~#gf_u~0; VAL [#NULL!base=0, #NULL!offset=0, fmod_float_#in~x=2.0, fmod_float_#in~y=10.0, fmod_float_~hx~0=840, fmod_float_~x=2.0, fmod_float_~y=10.0, isfinite_float_#in~x=2.0, isfinite_float_#res=1, isfinite_float_~ix~1=0, isfinite_float_~x=2.0, main_~x~0=2.0, main_~y~0=10.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L26] FCALL call fmod_float_~#gf_u~1 := #Ultimate.alloc(4); [L27] FCALL call write~real(fmod_float_~y, { base: fmod_float_~#gf_u~1!base, offset: fmod_float_~#gf_u~1!offset }, 4); [L28] FCALL call fmod_float_#t~mem2 := read~int({ base: fmod_float_~#gf_u~1!base, offset: fmod_float_~#gf_u~1!offset }, 4); [L28] fmod_float_~hy~0 := (if fmod_float_#t~mem2 % 4294967296 % 4294967296 <= 2147483647 then fmod_float_#t~mem2 % 4294967296 % 4294967296 else fmod_float_#t~mem2 % 4294967296 % 4294967296 - 4294967296); [L28] FCALL call write~real(fmod_float_#t~union3, { base: fmod_float_~#gf_u~1!base, offset: fmod_float_~#gf_u~1!offset }, 4); [L28] havoc fmod_float_#t~union3; [L28] havoc fmod_float_#t~mem2; [L26] FCALL call ULTIMATE.dealloc(fmod_float_~#gf_u~1); [L26] havoc fmod_float_~#gf_u~1; VAL [#NULL!base=0, #NULL!offset=0, fmod_float_#in~x=2.0, fmod_float_#in~y=10.0, fmod_float_~hx~0=840, fmod_float_~hy~0=0, fmod_float_~x=2.0, fmod_float_~y=10.0, isfinite_float_#in~x=2.0, isfinite_float_#res=1, isfinite_float_~ix~1=0, isfinite_float_~x=2.0, main_~x~0=2.0, main_~y~0=10.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L30] fmod_float_~sx~0 := (if ~bitwiseAnd(fmod_float_~hx~0, 2147483648) % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseAnd(fmod_float_~hx~0, 2147483648) % 4294967296 % 4294967296 else ~bitwiseAnd(fmod_float_~hx~0, 2147483648) % 4294967296 % 4294967296 - 4294967296); [L31] fmod_float_~hx~0 := ~bitwiseXor(fmod_float_~hx~0, fmod_float_~sx~0); [L32] fmod_float_~hy~0 := ~bitwiseAnd(fmod_float_~hy~0, 2147483647); VAL [#NULL!base=0, #NULL!offset=0, fmod_float_#in~x=2.0, fmod_float_#in~y=10.0, fmod_float_~sx~0=8586, fmod_float_~x=2.0, fmod_float_~y=10.0, isfinite_float_#in~x=2.0, isfinite_float_#res=1, isfinite_float_~ix~1=0, isfinite_float_~x=2.0, main_~x~0=2.0, main_~y~0=10.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L34] COND TRUE (0 == fmod_float_~hy~0 || !(fmod_float_~hx~0 < 2139095040)) || fmod_float_~hy~0 > 2139095040 [L35] fmod_float_#res := ~someBinaryArithmeticFLOAToperation(~someBinaryArithmeticFLOAToperation(fmod_float_~x, fmod_float_~y), ~someBinaryArithmeticFLOAToperation(fmod_float_~x, fmod_float_~y)); VAL [#NULL!base=0, #NULL!offset=0, fmod_float_#in~x=2.0, fmod_float_#in~y=10.0, fmod_float_~hx~0=0, fmod_float_~hy~0=2139095041, fmod_float_~sx~0=8586, fmod_float_~x=2.0, fmod_float_~y=10.0, isfinite_float_#in~x=2.0, isfinite_float_#res=1, isfinite_float_~ix~1=0, isfinite_float_~x=2.0, main_~x~0=2.0, main_~y~0=10.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L131] main_#t~ret16 := fmod_float_#res; [L131] main_~res~0 := main_#t~ret16; [L131] havoc main_#t~ret16; VAL [#NULL!base=0, #NULL!offset=0, fmod_float_#in~x=2.0, fmod_float_#in~y=10.0, fmod_float_#res=11.0, fmod_float_~hx~0=0, fmod_float_~hy~0=2139095041, fmod_float_~sx~0=8586, fmod_float_~x=2.0, fmod_float_~y=10.0, isfinite_float_#in~x=2.0, isfinite_float_#res=1, isfinite_float_~ix~1=0, isfinite_float_~x=2.0, main_~res~0=11.0, main_~x~0=2.0, main_~y~0=10.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L134] COND TRUE ~someBinaryFLOATComparisonOperation(main_~res~0, main_~x~0) VAL [#NULL!base=0, #NULL!offset=0, fmod_float_#in~x=2.0, fmod_float_#in~y=10.0, fmod_float_#res=11.0, fmod_float_~hx~0=0, fmod_float_~hy~0=2139095041, fmod_float_~sx~0=8586, fmod_float_~x=2.0, fmod_float_~y=10.0, isfinite_float_#in~x=2.0, isfinite_float_#res=1, isfinite_float_~ix~1=0, isfinite_float_~x=2.0, main_~res~0=11.0, main_~x~0=2.0, main_~y~0=10.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L135] assert false; VAL [#NULL!base=0, #NULL!offset=0, fmod_float_#in~x=2.0, fmod_float_#in~y=10.0, fmod_float_#res=11.0, fmod_float_~hx~0=0, fmod_float_~hy~0=2139095041, fmod_float_~sx~0=8586, fmod_float_~x=2.0, fmod_float_~y=10.0, isfinite_float_#in~x=2.0, isfinite_float_#res=1, isfinite_float_~ix~1=0, isfinite_float_~x=2.0, main_~res~0=11.0, main_~x~0=2.0, main_~y~0=10.0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [?] #NULL := { base: 0, offset: 0 }; [?] #valid[0] := 0; [L12-L15] ~one_fmod~0 := 1.0; [L12-L15] FCALL call ~#Zero_fmod~0 := #Ultimate.alloc(8); [L12-L15] FCALL call write~init~real(0.0, { base: ~#Zero_fmod~0!base, offset: ~#Zero_fmod~0!offset }, 4); [L12-L15] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.0), { base: ~#Zero_fmod~0!base, offset: 4 + ~#Zero_fmod~0!offset }, 4); [L126] ~x~0 := #t~nondet14; [L126] havoc #t~nondet14; [L127] ~y~0 := ~someBinaryArithmeticFLOAToperation(~someUnaryFLOAToperation(1.0), 0.0); [L108-L117] ~x := #in~x; [L109] havoc ~ix~1; VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L111] FCALL call ~#gf_u~2 := #Ultimate.alloc(4); [L112] FCALL call write~real(~x, { base: ~#gf_u~2!base, offset: ~#gf_u~2!offset }, 4); [L113] FCALL call #t~mem12 := read~int({ base: ~#gf_u~2!base, offset: ~#gf_u~2!offset }, 4); [L113] ~ix~1 := (if #t~mem12 % 4294967296 % 4294967296 <= 2147483647 then #t~mem12 % 4294967296 % 4294967296 else #t~mem12 % 4294967296 % 4294967296 - 4294967296); [L113] FCALL call write~real(#t~union13, { base: ~#gf_u~2!base, offset: ~#gf_u~2!offset }, 4); [L113] havoc #t~union13; [L113] havoc #t~mem12; [L111] FCALL call ULTIMATE.dealloc(~#gf_u~2); [L111] havoc ~#gf_u~2; VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L115] ~ix~1 := ~bitwiseAnd(~ix~1, 2147483647); [L116] #res := (if ~ix~1 < 2139095040 then 1 else 0); [L129] assume -2147483648 <= #t~ret15 && #t~ret15 <= 2147483647; VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L129-L138] COND TRUE 0 != #t~ret15 [L129] havoc #t~ret15; [L17-L105] ~x := #in~x; [L17-L105] ~y := #in~y; [L18] havoc ~n~0; [L18] havoc ~hx~0; [L18] havoc ~hy~0; [L18] havoc ~hz~0; [L18] havoc ~ix~0; [L18] havoc ~iy~0; [L18] havoc ~sx~0; [L18] havoc ~i~0; VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L21] FCALL call ~#gf_u~0 := #Ultimate.alloc(4); [L22] FCALL call write~real(~x, { base: ~#gf_u~0!base, offset: ~#gf_u~0!offset }, 4); [L23] FCALL call #t~mem0 := read~int({ base: ~#gf_u~0!base, offset: ~#gf_u~0!offset }, 4); [L23] ~hx~0 := (if #t~mem0 % 4294967296 % 4294967296 <= 2147483647 then #t~mem0 % 4294967296 % 4294967296 else #t~mem0 % 4294967296 % 4294967296 - 4294967296); [L23] FCALL call write~real(#t~union1, { base: ~#gf_u~0!base, offset: ~#gf_u~0!offset }, 4); [L23] havoc #t~union1; [L23] havoc #t~mem0; [L21] FCALL call ULTIMATE.dealloc(~#gf_u~0); [L21] havoc ~#gf_u~0; VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L26] FCALL call ~#gf_u~1 := #Ultimate.alloc(4); [L27] FCALL call write~real(~y, { base: ~#gf_u~1!base, offset: ~#gf_u~1!offset }, 4); [L28] FCALL call #t~mem2 := read~int({ base: ~#gf_u~1!base, offset: ~#gf_u~1!offset }, 4); [L28] ~hy~0 := (if #t~mem2 % 4294967296 % 4294967296 <= 2147483647 then #t~mem2 % 4294967296 % 4294967296 else #t~mem2 % 4294967296 % 4294967296 - 4294967296); [L28] FCALL call write~real(#t~union3, { base: ~#gf_u~1!base, offset: ~#gf_u~1!offset }, 4); [L28] havoc #t~union3; [L28] havoc #t~mem2; [L26] FCALL call ULTIMATE.dealloc(~#gf_u~1); [L26] havoc ~#gf_u~1; VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L30] ~sx~0 := (if ~bitwiseAnd(~hx~0, 2147483648) % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseAnd(~hx~0, 2147483648) % 4294967296 % 4294967296 else ~bitwiseAnd(~hx~0, 2147483648) % 4294967296 % 4294967296 - 4294967296); [L31] ~hx~0 := ~bitwiseXor(~hx~0, ~sx~0); [L32] ~hy~0 := ~bitwiseAnd(~hy~0, 2147483647); VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L34] COND TRUE (0 == ~hy~0 || !(~hx~0 < 2139095040)) || ~hy~0 > 2139095040 [L35] #res := ~someBinaryArithmeticFLOAToperation(~someBinaryArithmeticFLOAToperation(~x, ~y), ~someBinaryArithmeticFLOAToperation(~x, ~y)); VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L131] ~res~0 := #t~ret16; [L131] havoc #t~ret16; VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L134] COND TRUE ~someBinaryFLOATComparisonOperation(~res~0, ~x~0) VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L135] assert false; VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] ----- ----- class de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.CACSL2BoogieBacktranslator [?] #NULL := { base: 0, offset: 0 }; [?] #valid[0] := 0; [L12-L15] ~one_fmod~0 := 1.0; [L12-L15] FCALL call ~#Zero_fmod~0 := #Ultimate.alloc(8); [L12-L15] FCALL call write~init~real(0.0, { base: ~#Zero_fmod~0!base, offset: ~#Zero_fmod~0!offset }, 4); [L12-L15] FCALL call write~init~real(~someUnaryDOUBLEoperation(0.0), { base: ~#Zero_fmod~0!base, offset: 4 + ~#Zero_fmod~0!offset }, 4); [L126] ~x~0 := #t~nondet14; [L126] havoc #t~nondet14; [L127] ~y~0 := ~someBinaryArithmeticFLOAToperation(~someUnaryFLOAToperation(1.0), 0.0); [L108-L117] ~x := #in~x; [L109] havoc ~ix~1; VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L111] FCALL call ~#gf_u~2 := #Ultimate.alloc(4); [L112] FCALL call write~real(~x, { base: ~#gf_u~2!base, offset: ~#gf_u~2!offset }, 4); [L113] FCALL call #t~mem12 := read~int({ base: ~#gf_u~2!base, offset: ~#gf_u~2!offset }, 4); [L113] ~ix~1 := (if #t~mem12 % 4294967296 % 4294967296 <= 2147483647 then #t~mem12 % 4294967296 % 4294967296 else #t~mem12 % 4294967296 % 4294967296 - 4294967296); [L113] FCALL call write~real(#t~union13, { base: ~#gf_u~2!base, offset: ~#gf_u~2!offset }, 4); [L113] havoc #t~union13; [L113] havoc #t~mem12; [L111] FCALL call ULTIMATE.dealloc(~#gf_u~2); [L111] havoc ~#gf_u~2; VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L115] ~ix~1 := ~bitwiseAnd(~ix~1, 2147483647); [L116] #res := (if ~ix~1 < 2139095040 then 1 else 0); [L129] assume -2147483648 <= #t~ret15 && #t~ret15 <= 2147483647; VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L129-L138] COND TRUE 0 != #t~ret15 [L129] havoc #t~ret15; [L17-L105] ~x := #in~x; [L17-L105] ~y := #in~y; [L18] havoc ~n~0; [L18] havoc ~hx~0; [L18] havoc ~hy~0; [L18] havoc ~hz~0; [L18] havoc ~ix~0; [L18] havoc ~iy~0; [L18] havoc ~sx~0; [L18] havoc ~i~0; VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L21] FCALL call ~#gf_u~0 := #Ultimate.alloc(4); [L22] FCALL call write~real(~x, { base: ~#gf_u~0!base, offset: ~#gf_u~0!offset }, 4); [L23] FCALL call #t~mem0 := read~int({ base: ~#gf_u~0!base, offset: ~#gf_u~0!offset }, 4); [L23] ~hx~0 := (if #t~mem0 % 4294967296 % 4294967296 <= 2147483647 then #t~mem0 % 4294967296 % 4294967296 else #t~mem0 % 4294967296 % 4294967296 - 4294967296); [L23] FCALL call write~real(#t~union1, { base: ~#gf_u~0!base, offset: ~#gf_u~0!offset }, 4); [L23] havoc #t~union1; [L23] havoc #t~mem0; [L21] FCALL call ULTIMATE.dealloc(~#gf_u~0); [L21] havoc ~#gf_u~0; VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L26] FCALL call ~#gf_u~1 := #Ultimate.alloc(4); [L27] FCALL call write~real(~y, { base: ~#gf_u~1!base, offset: ~#gf_u~1!offset }, 4); [L28] FCALL call #t~mem2 := read~int({ base: ~#gf_u~1!base, offset: ~#gf_u~1!offset }, 4); [L28] ~hy~0 := (if #t~mem2 % 4294967296 % 4294967296 <= 2147483647 then #t~mem2 % 4294967296 % 4294967296 else #t~mem2 % 4294967296 % 4294967296 - 4294967296); [L28] FCALL call write~real(#t~union3, { base: ~#gf_u~1!base, offset: ~#gf_u~1!offset }, 4); [L28] havoc #t~union3; [L28] havoc #t~mem2; [L26] FCALL call ULTIMATE.dealloc(~#gf_u~1); [L26] havoc ~#gf_u~1; VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L30] ~sx~0 := (if ~bitwiseAnd(~hx~0, 2147483648) % 4294967296 % 4294967296 <= 2147483647 then ~bitwiseAnd(~hx~0, 2147483648) % 4294967296 % 4294967296 else ~bitwiseAnd(~hx~0, 2147483648) % 4294967296 % 4294967296 - 4294967296); [L31] ~hx~0 := ~bitwiseXor(~hx~0, ~sx~0); [L32] ~hy~0 := ~bitwiseAnd(~hy~0, 2147483647); VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L34] COND TRUE (0 == ~hy~0 || !(~hx~0 < 2139095040)) || ~hy~0 > 2139095040 [L35] #res := ~someBinaryArithmeticFLOAToperation(~someBinaryArithmeticFLOAToperation(~x, ~y), ~someBinaryArithmeticFLOAToperation(~x, ~y)); VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L131] ~res~0 := #t~ret16; [L131] havoc #t~ret16; VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L134] COND TRUE ~someBinaryFLOATComparisonOperation(~res~0, ~x~0) VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L135] assert false; VAL [#NULL!base=0, #NULL!offset=0, ~#Zero_fmod~0!base=2, ~#Zero_fmod~0!offset=0, ~one_fmod~0=1.0] [L12-L15] static const float one_fmod = 1.0, Zero_fmod[] = { 0.0, -0.0, }; [L126] float x = __VERIFIER_nondet_float(); [L127] float y = -1.0f / 0.0f; [L109] __int32_t ix; VAL [one_fmod=1, Zero_fmod={2:0}] [L111] ieee_float_shape_type gf_u; [L112] gf_u.value = (x) [L113] EXPR gf_u.word [L113] (ix) = gf_u.word [L115] ix &= 0x7fffffff [L116] return (((ix) < 0x7f800000L)); [L129] COND TRUE isfinite_float(x) [L18] __int32_t n, hx, hy, hz, ix, iy, sx, i; VAL [one_fmod=1, Zero_fmod={2:0}] [L21] ieee_float_shape_type gf_u; [L22] gf_u.value = (x) [L23] EXPR gf_u.word [L23] (hx) = gf_u.word [L26] ieee_float_shape_type gf_u; [L27] gf_u.value = (y) [L28] EXPR gf_u.word [L28] (hy) = gf_u.word [L30] sx = hx & 0x80000000 [L31] hx ^= sx [L32] hy &= 0x7fffffff VAL [one_fmod=1, Zero_fmod={2:0}] [L34] COND TRUE ((hy) == 0) || !((hx) < 0x7f800000L) || ((hy) > 0x7f800000L) [L35] return (x * y) / (x * y); VAL [one_fmod=1, Zero_fmod={2:0}] [L131] float res = fmod_float(x, y); [L134] COND TRUE res != x VAL [one_fmod=1, Zero_fmod={2:0}] [L135] __VERIFIER_error() VAL [one_fmod=1, Zero_fmod={2:0}] ----- [2018-11-23 14:52:03,403 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.codecheck CFG 23.11 02:52:03 ImpRootNode [2018-11-23 14:52:03,403 INFO L132 PluginConnector]: ------------------------ END CodeCheck---------------------------- [2018-11-23 14:52:03,403 INFO L113 PluginConnector]: ------------------------Witness Printer---------------------------- [2018-11-23 14:52:03,403 INFO L271 PluginConnector]: Initializing Witness Printer... [2018-11-23 14:52:03,403 INFO L276 PluginConnector]: Witness Printer initialized [2018-11-23 14:52:03,404 INFO L185 PluginConnector]: Executing the observer RCFGCatcher from plugin Witness Printer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 02:52:03" (3/4) ... [2018-11-23 14:52:03,411 INFO L147 WitnessPrinter]: No result that supports witness generation found [2018-11-23 14:52:03,411 INFO L132 PluginConnector]: ------------------------ END Witness Printer---------------------------- [2018-11-23 14:52:03,412 INFO L168 Benchmark]: Toolchain (without parser) took 1021.40 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.1 MB in the beginning and 1.1 GB in the end (delta: -100.4 MB). Peak memory consumption was 35.9 MB. Max. memory is 11.5 GB. [2018-11-23 14:52:03,413 INFO L168 Benchmark]: CDTParser took 0.11 ms. Allocated memory is still 1.0 GB. Free memory is still 985.4 MB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-23 14:52:03,413 INFO L168 Benchmark]: CACSL2BoogieTranslator took 237.48 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.1 MB in the beginning and 1.1 GB in the end (delta: -175.7 MB). Peak memory consumption was 28.1 MB. Max. memory is 11.5 GB. [2018-11-23 14:52:03,414 INFO L168 Benchmark]: Boogie Procedure Inliner took 33.69 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: 3.5 MB). Peak memory consumption was 3.5 MB. Max. memory is 11.5 GB. [2018-11-23 14:52:03,415 INFO L168 Benchmark]: Boogie Preprocessor took 21.04 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: 3.5 MB). Peak memory consumption was 3.5 MB. Max. memory is 11.5 GB. [2018-11-23 14:52:03,415 INFO L168 Benchmark]: RCFGBuilder took 363.74 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: 33.0 MB). Peak memory consumption was 33.0 MB. Max. memory is 11.5 GB. [2018-11-23 14:52:03,416 INFO L168 Benchmark]: CodeCheck took 355.06 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: 35.3 MB). Peak memory consumption was 35.3 MB. Max. memory is 11.5 GB. [2018-11-23 14:52:03,416 INFO L168 Benchmark]: Witness Printer took 7.78 ms. Allocated memory is still 1.2 GB. Free memory is still 1.1 GB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-23 14:52:03,421 INFO L336 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.codecheck: - StatisticsResult: Ultimate CodeCheck benchmark data CFG has 1 procedures, 47 locations, 1 error locations. UNSAFE Result, 0.2s OverallTime, 2 OverallIterations, 0 TraceHistogramMax, 0.0s AutomataDifference, 0.0s DeadEndRemovalTime, 0.0s HoareAnnotationTime, HoareTripleCheckerStatistics: 22 SDtfs, 0 SDslu, 0 SDs, 0 SdLazy, 0 SolverSat, 0 SolverUnsat, 0 SolverUnknown, 0 SolverNotchecked, 0.0s Time, PredicateUnifierStatistics: 0 DeclaredPredicates, 82 GetRequests, 82 SyntacticMatches, 0 SemanticMatches, 0 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=-1occurred in iteration=-1, traceCheckStatistics: 0.0s SsaConstructionTime, 0.0s SatisfiabilityAnalysisTime, 0.0s InterpolantComputationTime, 25 NumberOfCodeBlocks, 25 NumberOfCodeBlocksAsserted, 2 NumberOfCheckSat, 10 ConstructedInterpolants, 0 QuantifiedInterpolants, 100 SizeOfPredicates, 0 NumberOfNonLiveVariables, 0 ConjunctsInSsa, 0 ConjunctsInUnsatCore, 1 InterpolantComputations, 1 PerfectInterpolantSequences, 0/0 InterpolantCoveringCapability, 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: No data available, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: No data available, ReuseStatistics: No data available - UnprovableResult [Line: 135]: Unable to prove that call of __VERIFIER_error() unreachable Unable to prove that call of __VERIFIER_error() unreachable Reason: overapproximation of someBinaryFLOATComparisonOperation at line 134, overapproximation of someUnaryDOUBLEoperation at line 14, overapproximation of bitwiseAnd at line 30, overapproximation of someBinaryArithmeticFLOAToperation at line 35, overapproximation of bitwiseXor at line 31. Possible FailurePath: [L12-L15] static const float one_fmod = 1.0, Zero_fmod[] = { 0.0, -0.0, }; [L126] float x = __VERIFIER_nondet_float(); [L127] float y = -1.0f / 0.0f; [L109] __int32_t ix; VAL [one_fmod=1, Zero_fmod={2:0}] [L111] ieee_float_shape_type gf_u; [L112] gf_u.value = (x) [L113] EXPR gf_u.word [L113] (ix) = gf_u.word [L115] ix &= 0x7fffffff [L116] return (((ix) < 0x7f800000L)); [L129] COND TRUE isfinite_float(x) [L18] __int32_t n, hx, hy, hz, ix, iy, sx, i; VAL [one_fmod=1, Zero_fmod={2:0}] [L21] ieee_float_shape_type gf_u; [L22] gf_u.value = (x) [L23] EXPR gf_u.word [L23] (hx) = gf_u.word [L26] ieee_float_shape_type gf_u; [L27] gf_u.value = (y) [L28] EXPR gf_u.word [L28] (hy) = gf_u.word [L30] sx = hx & 0x80000000 [L31] hx ^= sx [L32] hy &= 0x7fffffff VAL [one_fmod=1, Zero_fmod={2:0}] [L34] COND TRUE ((hy) == 0) || !((hx) < 0x7f800000L) || ((hy) > 0x7f800000L) [L35] return (x * y) / (x * y); VAL [one_fmod=1, Zero_fmod={2:0}] [L131] float res = fmod_float(x, y); [L134] COND TRUE res != x VAL [one_fmod=1, Zero_fmod={2:0}] [L135] __VERIFIER_error() VAL [one_fmod=1, Zero_fmod={2:0}] * Results from de.uni_freiburg.informatik.ultimate.core: - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.11 ms. Allocated memory is still 1.0 GB. Free memory is still 985.4 MB. There was no memory consumed. Max. memory is 11.5 GB. * CACSL2BoogieTranslator took 237.48 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.1 MB in the beginning and 1.1 GB in the end (delta: -175.7 MB). Peak memory consumption was 28.1 MB. Max. memory is 11.5 GB. * Boogie Procedure Inliner took 33.69 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: 3.5 MB). Peak memory consumption was 3.5 MB. Max. memory is 11.5 GB. * Boogie Preprocessor took 21.04 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: 3.5 MB). Peak memory consumption was 3.5 MB. Max. memory is 11.5 GB. * RCFGBuilder took 363.74 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: 33.0 MB). Peak memory consumption was 33.0 MB. Max. memory is 11.5 GB. * CodeCheck took 355.06 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: 35.3 MB). Peak memory consumption was 35.3 MB. Max. memory is 11.5 GB. * Witness Printer took 7.78 ms. Allocated memory is still 1.2 GB. Free memory is still 1.1 GB. There was no memory consumed. Max. memory is 11.5 GB. RESULT: Ultimate could not prove your program: unable to determine feasibility of some traces Received shutdown request... ### Bit-precise run ### This is Ultimate 0.1.23-aa41828 [2018-11-23 14:52:04,879 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-11-23 14:52:04,880 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-11-23 14:52:04,888 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-11-23 14:52:04,888 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-11-23 14:52:04,889 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-11-23 14:52:04,890 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-11-23 14:52:04,891 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-11-23 14:52:04,892 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-11-23 14:52:04,893 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-11-23 14:52:04,893 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-11-23 14:52:04,893 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-11-23 14:52:04,894 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-11-23 14:52:04,894 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-11-23 14:52:04,895 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-11-23 14:52:04,896 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-11-23 14:52:04,896 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-11-23 14:52:04,897 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-11-23 14:52:04,899 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-11-23 14:52:04,900 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-11-23 14:52:04,900 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-11-23 14:52:04,901 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-11-23 14:52:04,903 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-11-23 14:52:04,903 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-11-23 14:52:04,903 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-11-23 14:52:04,904 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-11-23 14:52:04,904 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-11-23 14:52:04,905 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-11-23 14:52:04,905 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-11-23 14:52:04,906 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-11-23 14:52:04,906 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-11-23 14:52:04,907 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-11-23 14:52:04,907 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-11-23 14:52:04,907 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-11-23 14:52:04,908 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-11-23 14:52:04,908 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-11-23 14:52:04,908 INFO L98 SettingsManager]: Beginning loading settings from /tmp/vcloud-vcloud-master/worker/working_dir_3c292e1d-43d1-488b-b11b-61cfc69735ef/bin-2019/ukojak/config/svcomp-Reach-32bit-Kojak_Bitvector.epf [2018-11-23 14:52:04,918 INFO L110 SettingsManager]: Loading preferences was successful [2018-11-23 14:52:04,918 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-11-23 14:52:04,919 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-11-23 14:52:04,919 INFO L133 SettingsManager]: * ... to procedures called more than once=ALWAYS [2018-11-23 14:52:04,919 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-11-23 14:52:04,919 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-11-23 14:52:04,920 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-11-23 14:52:04,920 INFO L133 SettingsManager]: * sizeof long=4 [2018-11-23 14:52:04,920 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-11-23 14:52:04,920 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-11-23 14:52:04,920 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-11-23 14:52:04,920 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-11-23 14:52:04,920 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-11-23 14:52:04,921 INFO L133 SettingsManager]: * Use bitvectors instead of ints=true [2018-11-23 14:52:04,921 INFO L133 SettingsManager]: * Memory model=HoenickeLindenmann_4ByteResolution [2018-11-23 14:52:04,921 INFO L133 SettingsManager]: * sizeof long double=12 [2018-11-23 14:52:04,921 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-11-23 14:52:04,921 INFO L133 SettingsManager]: * Use constant arrays=true [2018-11-23 14:52:04,921 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-11-23 14:52:04,921 INFO L131 SettingsManager]: Preferences of CodeCheck differ from their defaults: [2018-11-23 14:52:04,921 INFO L133 SettingsManager]: * Timeout in seconds=1000000 [2018-11-23 14:52:04,922 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-11-23 14:52:04,922 INFO L133 SettingsManager]: * To the following directory=./dump/ [2018-11-23 14:52:04,922 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:10000 [2018-11-23 14:52:04,922 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-11-23 14:52:04,922 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-11-23 14:52:04,922 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-11-23 14:52:04,922 INFO L133 SettingsManager]: * Use separate solver for trace checks=false [2018-11-23 14:52:04,923 INFO L133 SettingsManager]: * Trace refinement strategy=WALRUS [2018-11-23 14:52:04,923 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-11-23 14:52:04,923 INFO L133 SettingsManager]: * Command for external solver=cvc4nyu --tear-down-incremental --rewrite-divk --print-success --lang smt [2018-11-23 14:52:04,923 INFO L133 SettingsManager]: * Logic for external solver=AUFBV [2018-11-23 14:52:04,923 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_3c292e1d-43d1-488b-b11b-61cfc69735ef/bin-2019/ukojak 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 -> Kojak 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 -> 6efcf0ef01c01ffa978b867fd4fac99c9f84566e [2018-11-23 14:52:04,951 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-11-23 14:52:04,961 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-11-23 14:52:04,963 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-11-23 14:52:04,964 INFO L271 PluginConnector]: Initializing CDTParser... [2018-11-23 14:52:04,965 INFO L276 PluginConnector]: CDTParser initialized [2018-11-23 14:52:04,965 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /tmp/vcloud-vcloud-master/worker/working_dir_3c292e1d-43d1-488b-b11b-61cfc69735ef/bin-2019/ukojak/../../sv-benchmarks/c/float-newlib/float_req_bl_1131b_true-unreach-call.c [2018-11-23 14:52:05,001 INFO L221 CDTParser]: Created temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_3c292e1d-43d1-488b-b11b-61cfc69735ef/bin-2019/ukojak/data/f47819eca/8684107f1e9b475b8d11cb27c34954e0/FLAG230e0b752 [2018-11-23 14:52:05,393 INFO L307 CDTParser]: Found 1 translation units. [2018-11-23 14:52:05,393 INFO L161 CDTParser]: Scanning /tmp/vcloud-vcloud-master/worker/working_dir_3c292e1d-43d1-488b-b11b-61cfc69735ef/sv-benchmarks/c/float-newlib/float_req_bl_1131b_true-unreach-call.c [2018-11-23 14:52:05,397 INFO L355 CDTParser]: About to delete temporary CDT project at /tmp/vcloud-vcloud-master/worker/working_dir_3c292e1d-43d1-488b-b11b-61cfc69735ef/bin-2019/ukojak/data/f47819eca/8684107f1e9b475b8d11cb27c34954e0/FLAG230e0b752 [2018-11-23 14:52:05,408 INFO L363 CDTParser]: Successfully deleted /tmp/vcloud-vcloud-master/worker/working_dir_3c292e1d-43d1-488b-b11b-61cfc69735ef/bin-2019/ukojak/data/f47819eca/8684107f1e9b475b8d11cb27c34954e0 [2018-11-23 14:52:05,410 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-11-23 14:52:05,411 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2018-11-23 14:52:05,412 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-11-23 14:52:05,412 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-11-23 14:52:05,415 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-11-23 14:52:05,416 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 02:52:05" (1/1) ... [2018-11-23 14:52:05,417 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@6919f42f and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:52:05, skipping insertion in model container [2018-11-23 14:52:05,418 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 23.11 02:52:05" (1/1) ... [2018-11-23 14:52:05,423 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2018-11-23 14:52:05,441 INFO L176 MainTranslator]: Built tables and reachable declarations [2018-11-23 14:52:05,586 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 14:52:05,590 INFO L191 MainTranslator]: Completed pre-run [2018-11-23 14:52:05,617 INFO L201 PostProcessor]: Analyzing one entry point: main [2018-11-23 14:52:05,633 INFO L195 MainTranslator]: Completed translation [2018-11-23 14:52:05,633 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:52:05 WrapperNode [2018-11-23 14:52:05,633 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-11-23 14:52:05,633 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-11-23 14:52:05,634 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-11-23 14:52:05,634 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-11-23 14:52:05,639 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:52:05" (1/1) ... [2018-11-23 14:52:05,645 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:52:05" (1/1) ... [2018-11-23 14:52:05,711 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-11-23 14:52:05,711 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-11-23 14:52:05,711 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-11-23 14:52:05,711 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-11-23 14:52:05,717 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:52:05" (1/1) ... [2018-11-23 14:52:05,718 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:52:05" (1/1) ... [2018-11-23 14:52:05,721 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:52:05" (1/1) ... [2018-11-23 14:52:05,721 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:52:05" (1/1) ... [2018-11-23 14:52:05,730 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:52:05" (1/1) ... [2018-11-23 14:52:05,735 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:52:05" (1/1) ... [2018-11-23 14:52:05,737 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:52:05" (1/1) ... [2018-11-23 14:52:05,740 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-11-23 14:52:05,740 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-11-23 14:52:05,740 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-11-23 14:52:05,740 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-11-23 14:52:05,741 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 23.11 02:52:05" (1/1) ... No working directory specified, using /tmp/vcloud-vcloud-master/worker/working_dir_3c292e1d-43d1-488b-b11b-61cfc69735ef/bin-2019/ukojak/z3 Starting monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:10000 (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:10000 [2018-11-23 14:52:05,777 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~intFLOATTYPE4 [2018-11-23 14:52:05,777 INFO L130 BoogieDeclarations]: Found specification of procedure read~intFLOATTYPE4 [2018-11-23 14:52:05,777 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.alloc [2018-11-23 14:52:05,777 INFO L130 BoogieDeclarations]: Found specification of procedure read~intINTTYPE4 [2018-11-23 14:52:05,777 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-11-23 14:52:05,777 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-11-23 14:52:05,777 INFO L130 BoogieDeclarations]: Found specification of procedure write~intFLOATTYPE4 [2018-11-23 14:52:05,777 INFO L130 BoogieDeclarations]: Found specification of procedure write~intINTTYPE4 [2018-11-23 14:52:05,778 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-11-23 14:52:05,905 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 14:52:05,935 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 14:52:05,956 WARN L317 ript$VariableManager]: TermVariabe |q#valueAsBitvector| not constructed by VariableManager. Cannot ensure absence of name clashes. [2018-11-23 14:52:06,663 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-11-23 14:52:06,663 INFO L280 CfgBuilder]: Removed 22 assue(true) statements. [2018-11-23 14:52:06,663 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 02:52:06 BoogieIcfgContainer [2018-11-23 14:52:06,663 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-11-23 14:52:06,664 INFO L113 PluginConnector]: ------------------------CodeCheck---------------------------- [2018-11-23 14:52:06,664 INFO L271 PluginConnector]: Initializing CodeCheck... [2018-11-23 14:52:06,672 INFO L276 PluginConnector]: CodeCheck initialized [2018-11-23 14:52:06,672 INFO L185 PluginConnector]: Executing the observer CodeCheckObserver from plugin CodeCheck for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 02:52:06" (1/1) ... [2018-11-23 14:52:06,681 INFO L141 PredicateUnifier]: Initialized classic predicate unifier [2018-11-23 14:52:06,697 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-23 14:52:06,701 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 64 states to 39 states and 64 transitions. [2018-11-23 14:52:06,702 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 64 transitions. [2018-11-23 14:52:06,704 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 12 [2018-11-23 14:52:06,704 INFO L427 CodeCheckObserver]: Error Path is FOUND. [2018-11-23 14:52:06,745 ERROR L613 CodeCheckObserver]: First Tracecheck threw exception Indexed Sort BitVec undefined [2018-11-23 14:52:06,761 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 14:52:06,765 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 14:52:06,773 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 14:52:06,780 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-23 14:52:06,780 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 57 states to 39 states and 57 transitions. [2018-11-23 14:52:06,781 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 57 transitions. [2018-11-23 14:52:06,781 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2018-11-23 14:52:06,781 INFO L427 CodeCheckObserver]: Error Path is FOUND. [2018-11-23 14:52:06,782 ERROR L613 CodeCheckObserver]: First Tracecheck threw exception Indexed Sort BitVec undefined [2018-11-23 14:52:06,903 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 14:52:06,906 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 14:52:07,200 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 14:52:08,890 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-23 14:52:08,890 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 56 states to 39 states and 56 transitions. [2018-11-23 14:52:08,890 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 56 transitions. [2018-11-23 14:52:08,891 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 16 [2018-11-23 14:52:08,891 INFO L427 CodeCheckObserver]: Error Path is FOUND. [2018-11-23 14:52:08,892 ERROR L613 CodeCheckObserver]: First Tracecheck threw exception Indexed Sort BitVec undefined [2018-11-23 14:52:08,923 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 14:52:08,924 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 14:52:09,374 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 14:52:15,095 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-23 14:52:15,096 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 62 states to 41 states and 62 transitions. [2018-11-23 14:52:15,096 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 62 transitions. [2018-11-23 14:52:15,097 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 17 [2018-11-23 14:52:15,097 INFO L427 CodeCheckObserver]: Error Path is FOUND. [2018-11-23 14:52:15,098 ERROR L613 CodeCheckObserver]: First Tracecheck threw exception Indexed Sort BitVec undefined [2018-11-23 14:52:15,112 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-11-23 14:52:15,114 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-11-23 14:52:15,628 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-11-23 14:52:16,840 INFO L82 GeneralOperation]: Start removeUnreachable. Operand no size info available [2018-11-23 14:52:16,840 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 17 transitions. [2018-11-23 14:52:16,840 INFO L276 IsEmpty]: Start isEmpty. Operand 17 states and 17 transitions. [2018-11-23 14:52:16,841 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-11-23 14:52:16,841 WARN L424 CodeCheckObserver]: This Program is SAFE, Check terminated with 5 iterations. [2018-11-23 14:52:16,847 INFO L775 CodeCheckObserver]: All specifications hold 1 specifications checked. All of them hold [2018-11-23 14:52:17,172 INFO L579 CodeCheckObserver]: Invariant with dag size 24 [2018-11-23 14:52:17,176 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 14:52:17,177 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 14:52:17,177 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_prenex_5,QUANTIFIED] [2018-11-23 14:52:17,177 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_prenex_5,QUANTIFIED] [2018-11-23 14:52:17,177 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_prenex_5,QUANTIFIED] [2018-11-23 14:52:17,177 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_prenex_5,QUANTIFIED] [2018-11-23 14:52:17,181 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 14:52:17,181 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 14:52:17,181 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_prenex_5,QUANTIFIED] [2018-11-23 14:52:17,181 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_prenex_5,QUANTIFIED] [2018-11-23 14:52:17,182 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_prenex_5,QUANTIFIED] [2018-11-23 14:52:17,182 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_prenex_5,QUANTIFIED] [2018-11-23 14:52:17,183 INFO L579 CodeCheckObserver]: Invariant with dag size 17 [2018-11-23 14:52:17,183 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_ULTIMATE.start_fmod_float_~hx~0_44,QUANTIFIED] [2018-11-23 14:52:17,183 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_ULTIMATE.start_fmod_float_~hx~0_44,QUANTIFIED] [2018-11-23 14:52:17,184 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_ULTIMATE.start_fmod_float_~hx~0_44,QUANTIFIED] [2018-11-23 14:52:17,185 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_ULTIMATE.start_fmod_float_~hx~0_44,QUANTIFIED] [2018-11-23 14:52:17,185 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_ULTIMATE.start_fmod_float_~hx~0_44,QUANTIFIED] [2018-11-23 14:52:17,185 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_ULTIMATE.start_fmod_float_~hx~0_44,QUANTIFIED] [2018-11-23 14:52:17,185 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_ULTIMATE.start_fmod_float_~hx~0_44,QUANTIFIED] [2018-11-23 14:52:17,186 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_ULTIMATE.start_fmod_float_~hx~0_44,QUANTIFIED] [2018-11-23 14:52:17,186 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_ULTIMATE.start_fmod_float_~hx~0_44,QUANTIFIED] [2018-11-23 14:52:17,186 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_ULTIMATE.start_fmod_float_~hx~0_44,QUANTIFIED] [2018-11-23 14:52:17,186 INFO L579 CodeCheckObserver]: Invariant with dag size 16 [2018-11-23 14:52:17,187 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 14:52:17,187 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 14:52:17,187 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 14:52:17,187 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 14:52:17,188 INFO L579 CodeCheckObserver]: Invariant with dag size 12 [2018-11-23 14:52:17,188 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 14:52:17,188 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 14:52:17,188 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 14:52:17,189 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 14:52:17,189 INFO L579 CodeCheckObserver]: Invariant with dag size 1 [2018-11-23 14:52:17,189 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.codecheck CFG 23.11 02:52:17 ImpRootNode [2018-11-23 14:52:17,189 INFO L132 PluginConnector]: ------------------------ END CodeCheck---------------------------- [2018-11-23 14:52:17,190 INFO L113 PluginConnector]: ------------------------Witness Printer---------------------------- [2018-11-23 14:52:17,190 INFO L271 PluginConnector]: Initializing Witness Printer... [2018-11-23 14:52:17,190 INFO L276 PluginConnector]: Witness Printer initialized [2018-11-23 14:52:17,193 INFO L185 PluginConnector]: Executing the observer RCFGCatcher from plugin Witness Printer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.11 02:52:06" (3/4) ... [2018-11-23 14:52:17,196 INFO L144 WitnessPrinter]: Generating witness for correct program [2018-11-23 14:52:17,205 INFO L879 BoogieBacktranslator]: Reduced CFG by removing 10 nodes and edges [2018-11-23 14:52:17,205 INFO L879 BoogieBacktranslator]: Reduced CFG by removing 6 nodes and edges [2018-11-23 14:52:17,225 WARN L221 nessWitnessGenerator]: Not writing invariant because ACSL is forbidden: (~fp.div~FLOAT(~roundNearestTiesToEven, ~fp.neg~FLOAT(~to_fp~LONGDOUBLE(~roundNearestTiesToEven, 1.0)), ~Pluszero~LONGDOUBLE()) == y && x == x) && (\exists v_prenex_5 : bv32 :: ~bvslt32(~bvand32(2147483647bv32, v_prenex_5), 2139095040bv32) && x == ~fp~LONGDOUBLE(v_prenex_5[31:31], v_prenex_5[30:23], v_prenex_5[22:0])) [2018-11-23 14:52:17,237 INFO L145 WitnessManager]: Wrote witness to /tmp/vcloud-vcloud-master/worker/working_dir_3c292e1d-43d1-488b-b11b-61cfc69735ef/bin-2019/ukojak/witness.graphml [2018-11-23 14:52:17,237 INFO L132 PluginConnector]: ------------------------ END Witness Printer---------------------------- [2018-11-23 14:52:17,237 INFO L168 Benchmark]: Toolchain (without parser) took 11826.51 ms. Allocated memory was 1.0 GB in the beginning and 1.2 GB in the end (delta: 191.9 MB). Free memory was 950.8 MB in the beginning and 998.8 MB in the end (delta: -48.0 MB). Peak memory consumption was 143.9 MB. Max. memory is 11.5 GB. [2018-11-23 14:52:17,238 INFO L168 Benchmark]: CDTParser took 0.16 ms. Allocated memory is still 1.0 GB. Free memory is still 978.7 MB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-23 14:52:17,238 INFO L168 Benchmark]: CACSL2BoogieTranslator took 221.28 ms. Allocated memory is still 1.0 GB. Free memory was 950.8 MB in the beginning and 934.7 MB in the end (delta: 16.1 MB). Peak memory consumption was 16.1 MB. Max. memory is 11.5 GB. [2018-11-23 14:52:17,239 INFO L168 Benchmark]: Boogie Procedure Inliner took 77.40 ms. Allocated memory was 1.0 GB in the beginning and 1.1 GB in the end (delta: 119.5 MB). Free memory was 934.7 MB in the beginning and 1.1 GB in the end (delta: -171.8 MB). Peak memory consumption was 15.2 MB. Max. memory is 11.5 GB. [2018-11-23 14:52:17,239 INFO L168 Benchmark]: Boogie Preprocessor took 28.61 ms. Allocated memory is still 1.1 GB. Free memory is still 1.1 GB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-23 14:52:17,239 INFO L168 Benchmark]: RCFGBuilder took 923.43 ms. Allocated memory is still 1.1 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 41.2 MB). Peak memory consumption was 41.2 MB. Max. memory is 11.5 GB. [2018-11-23 14:52:17,240 INFO L168 Benchmark]: CodeCheck took 10525.87 ms. Allocated memory was 1.1 GB in the beginning and 1.2 GB in the end (delta: 72.4 MB). Free memory was 1.1 GB in the beginning and 998.8 MB in the end (delta: 66.5 MB). Peak memory consumption was 138.9 MB. Max. memory is 11.5 GB. [2018-11-23 14:52:17,240 INFO L168 Benchmark]: Witness Printer took 47.08 ms. Allocated memory is still 1.2 GB. Free memory is still 998.8 MB. There was no memory consumed. Max. memory is 11.5 GB. [2018-11-23 14:52:17,242 INFO L336 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.codecheck: - StatisticsResult: Ultimate CodeCheck benchmark data CFG has 1 procedures, 47 locations, 1 error locations. SAFE Result, 10.1s OverallTime, 5 OverallIterations, 0 TraceHistogramMax, 0.0s AutomataDifference, 0.0s DeadEndRemovalTime, 0.0s HoareAnnotationTime, HoareTripleCheckerStatistics: 232 SDtfs, 86 SDslu, 80 SDs, 0 SdLazy, 470 SolverSat, 132 SolverUnsat, 0 SolverUnknown, 0 SolverNotchecked, 9.3s Time, PredicateUnifierStatistics: 0 DeclaredPredicates, 474 GetRequests, 416 SyntacticMatches, 2 SemanticMatches, 56 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 743 ImplicationChecksByTransitivity, 5.1s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=-1occurred in iteration=-1, traceCheckStatistics: 0.0s SsaConstructionTime, 0.1s SatisfiabilityAnalysisTime, 1.2s InterpolantComputationTime, 56 NumberOfCodeBlocks, 56 NumberOfCodeBlocksAsserted, 4 NumberOfCheckSat, 52 ConstructedInterpolants, 14 QuantifiedInterpolants, 9064 SizeOfPredicates, 26 NumberOfNonLiveVariables, 206 ConjunctsInSsa, 36 ConjunctsInUnsatCore, 4 InterpolantComputations, 4 PerfectInterpolantSequences, 0/0 InterpolantCoveringCapability, 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: No data available, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: No data available, ReuseStatistics: No data available - PositiveResult [Line: 135]: call of __VERIFIER_error() unreachable For all program executions holds that call of __VERIFIER_error() unreachable at this location - AllSpecificationsHoldResult: All specifications hold 1 specifications checked. All of them hold - InvariantResult [Line: 20]: Loop Invariant [2018-11-23 14:52:17,245 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 14:52:17,245 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 14:52:17,245 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_prenex_5,QUANTIFIED] [2018-11-23 14:52:17,245 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_prenex_5,QUANTIFIED] [2018-11-23 14:52:17,245 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_prenex_5,QUANTIFIED] [2018-11-23 14:52:17,246 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_prenex_5,QUANTIFIED] [2018-11-23 14:52:17,246 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 14:52:17,246 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 14:52:17,246 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_prenex_5,QUANTIFIED] [2018-11-23 14:52:17,246 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_prenex_5,QUANTIFIED] [2018-11-23 14:52:17,246 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_prenex_5,QUANTIFIED] [2018-11-23 14:52:17,247 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_prenex_5,QUANTIFIED] Derived loop invariant: (~fp.div~FLOAT(~roundNearestTiesToEven, ~fp.neg~FLOAT(~to_fp~LONGDOUBLE(~roundNearestTiesToEven, 1.0)), ~Pluszero~LONGDOUBLE()) == y && x == x) && (\exists v_prenex_5 : bv32 :: ~bvslt32(~bvand32(2147483647bv32, v_prenex_5), 2139095040bv32) && x == ~fp~LONGDOUBLE(v_prenex_5[31:31], v_prenex_5[30:23], v_prenex_5[22:0])) - InvariantResult [Line: 17]: Loop Invariant [2018-11-23 14:52:17,247 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_ULTIMATE.start_fmod_float_~hx~0_44,QUANTIFIED] [2018-11-23 14:52:17,247 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_ULTIMATE.start_fmod_float_~hx~0_44,QUANTIFIED] [2018-11-23 14:52:17,247 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_ULTIMATE.start_fmod_float_~hx~0_44,QUANTIFIED] [2018-11-23 14:52:17,247 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_ULTIMATE.start_fmod_float_~hx~0_44,QUANTIFIED] [2018-11-23 14:52:17,248 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_ULTIMATE.start_fmod_float_~hx~0_44,QUANTIFIED] [2018-11-23 14:52:17,248 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_ULTIMATE.start_fmod_float_~hx~0_44,QUANTIFIED] [2018-11-23 14:52:17,248 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_ULTIMATE.start_fmod_float_~hx~0_44,QUANTIFIED] [2018-11-23 14:52:17,248 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_ULTIMATE.start_fmod_float_~hx~0_44,QUANTIFIED] [2018-11-23 14:52:17,248 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_ULTIMATE.start_fmod_float_~hx~0_44,QUANTIFIED] [2018-11-23 14:52:17,248 WARN L416 cessorBacktranslator]: Identifier is quantified, using identity as back-translation of IdentifierExpression[v_ULTIMATE.start_fmod_float_~hx~0_44,QUANTIFIED] Derived loop invariant: x == \result && (\exists v_ULTIMATE.start_fmod_float_~hx~0_44 : bv32 :: \result == ~fp~LONGDOUBLE(v_ULTIMATE.start_fmod_float_~hx~0_44[31:31], v_ULTIMATE.start_fmod_float_~hx~0_44[30:23], v_ULTIMATE.start_fmod_float_~hx~0_44[22:0]) && ~bvslt32(~bvxor32(v_ULTIMATE.start_fmod_float_~hx~0_44, ~bvand32(2147483648bv32, v_ULTIMATE.start_fmod_float_~hx~0_44)), 2139095040bv32)) - InvariantResult [Line: 110]: Loop Invariant [2018-11-23 14:52:17,249 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 14:52:17,249 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 14:52:17,249 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 14:52:17,249 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven Derived loop invariant: ~fp.div~FLOAT(~roundNearestTiesToEven, ~fp.neg~FLOAT(~to_fp~LONGDOUBLE(~roundNearestTiesToEven, 1.0)), ~Pluszero~LONGDOUBLE()) == y && ~fp~LONGDOUBLE(ix[31:31], ix[30:23], ix[22:0]) == x - InvariantResult [Line: 110]: Loop Invariant [2018-11-23 14:52:17,250 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 14:52:17,250 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 14:52:17,250 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven [2018-11-23 14:52:17,250 WARN L416 cessorBacktranslator]: Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven Derived loop invariant: x == x && ~fp.div~FLOAT(~roundNearestTiesToEven, ~fp.neg~FLOAT(~to_fp~LONGDOUBLE(~roundNearestTiesToEven, 1.0)), ~Pluszero~LONGDOUBLE()) == y - InvariantResult [Line: 119]: Loop Invariant Derived loop invariant: 1 * Results from de.uni_freiburg.informatik.ultimate.core: - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.16 ms. Allocated memory is still 1.0 GB. Free memory is still 978.7 MB. There was no memory consumed. Max. memory is 11.5 GB. * CACSL2BoogieTranslator took 221.28 ms. Allocated memory is still 1.0 GB. Free memory was 950.8 MB in the beginning and 934.7 MB in the end (delta: 16.1 MB). Peak memory consumption was 16.1 MB. Max. memory is 11.5 GB. * Boogie Procedure Inliner took 77.40 ms. Allocated memory was 1.0 GB in the beginning and 1.1 GB in the end (delta: 119.5 MB). Free memory was 934.7 MB in the beginning and 1.1 GB in the end (delta: -171.8 MB). Peak memory consumption was 15.2 MB. Max. memory is 11.5 GB. * Boogie Preprocessor took 28.61 ms. Allocated memory is still 1.1 GB. Free memory is still 1.1 GB. There was no memory consumed. Max. memory is 11.5 GB. * RCFGBuilder took 923.43 ms. Allocated memory is still 1.1 GB. Free memory was 1.1 GB in the beginning and 1.1 GB in the end (delta: 41.2 MB). Peak memory consumption was 41.2 MB. Max. memory is 11.5 GB. * CodeCheck took 10525.87 ms. Allocated memory was 1.1 GB in the beginning and 1.2 GB in the end (delta: 72.4 MB). Free memory was 1.1 GB in the beginning and 998.8 MB in the end (delta: 66.5 MB). Peak memory consumption was 138.9 MB. Max. memory is 11.5 GB. * Witness Printer took 47.08 ms. Allocated memory is still 1.2 GB. Free memory is still 998.8 MB. There was no memory consumed. Max. memory is 11.5 GB. * Results from de.uni_freiburg.informatik.ultimate.boogie.preprocessor: - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_prenex_5,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_prenex_5,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_prenex_5,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_prenex_5,QUANTIFIED] - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_prenex_5,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_prenex_5,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_prenex_5,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_prenex_5,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_ULTIMATE.start_fmod_float_~hx~0_44,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_ULTIMATE.start_fmod_float_~hx~0_44,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_ULTIMATE.start_fmod_float_~hx~0_44,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_ULTIMATE.start_fmod_float_~hx~0_44,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_ULTIMATE.start_fmod_float_~hx~0_44,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_ULTIMATE.start_fmod_float_~hx~0_44,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_ULTIMATE.start_fmod_float_~hx~0_44,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_ULTIMATE.start_fmod_float_~hx~0_44,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_ULTIMATE.start_fmod_float_~hx~0_44,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_ULTIMATE.start_fmod_float_~hx~0_44,QUANTIFIED] - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_prenex_5,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_prenex_5,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_prenex_5,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_prenex_5,QUANTIFIED] - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_prenex_5,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_prenex_5,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_prenex_5,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_prenex_5,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_ULTIMATE.start_fmod_float_~hx~0_44,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_ULTIMATE.start_fmod_float_~hx~0_44,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_ULTIMATE.start_fmod_float_~hx~0_44,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_ULTIMATE.start_fmod_float_~hx~0_44,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_ULTIMATE.start_fmod_float_~hx~0_44,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_ULTIMATE.start_fmod_float_~hx~0_44,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_ULTIMATE.start_fmod_float_~hx~0_44,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_ULTIMATE.start_fmod_float_~hx~0_44,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_ULTIMATE.start_fmod_float_~hx~0_44,QUANTIFIED] - GenericResult: Unfinished Backtranslation Identifier is quantified, using identity as back-translation of IdentifierExpression[v_ULTIMATE.start_fmod_float_~hx~0_44,QUANTIFIED] - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven - GenericResult: Unfinished Backtranslation Unfinished backtranslation: Declaration ConstDeclaration not handled for expression ~roundNearestTiesToEven RESULT: Ultimate proved your program to be correct! Received shutdown request...