From 8d53c83b76f3722ef421cd802e3d6d62cd5f606f Mon Sep 17 00:00:00 2001 From: Saul Shanabrook Date: Fri, 10 Nov 2023 17:13:57 -0500 Subject: [PATCH] Add example of fib with outputs split into own e-classes (#8) * Add example of fib with outputs split into own e-classes * Generate missing version --- tests-viz/README.md | 1 + .../fibonacci-split-inlined-saturated.svg | 255 ++++++++++ tests-viz/fibonacci-split-inlined.svg | 255 ++++++++++ tests-viz/fibonacci-split.svg | 462 ++++++++++++++++++ tests/fibonacci-split.json | 1 + 5 files changed, 974 insertions(+) create mode 100644 tests-viz/fibonacci-split-inlined-saturated.svg create mode 100644 tests-viz/fibonacci-split-inlined.svg create mode 100644 tests-viz/fibonacci-split.svg create mode 100644 tests/fibonacci-split.json diff --git a/tests-viz/README.md b/tests-viz/README.md index 96e4eb8..746d6d1 100644 --- a/tests-viz/README.md +++ b/tests-viz/README.md @@ -8,6 +8,7 @@ This is a list of all the tests in the `tests` directory. Each test is a JSON fi | [`diff_power_simple`](../tests/diff_power_simple.json) | ![svg file](./diff_power_simple.svg) | ![inlined leaves svg file](./diff_power_simple-inlined.svg) | ![inlined leaves saturated svg file](./diff_power_simple-inlined-saturated.svg) | | [`eqsolve`](../tests/eqsolve.json) | ![svg file](./eqsolve.svg) | ![inlined leaves svg file](./eqsolve-inlined.svg) | ![inlined leaves saturated svg file](./eqsolve-inlined-saturated.svg) | | [`fibonacci-demand`](../tests/fibonacci-demand.json) | ![svg file](./fibonacci-demand.svg) | ![inlined leaves svg file](./fibonacci-demand-inlined.svg) | ![inlined leaves saturated svg file](./fibonacci-demand-inlined-saturated.svg) | +| [`fibonacci-split`](../tests/fibonacci-split.json) | ![svg file](./fibonacci-split.svg) | ![inlined leaves svg file](./fibonacci-split-inlined.svg) | ![inlined leaves saturated svg file](./fibonacci-split-inlined-saturated.svg) | | [`fibonacci`](../tests/fibonacci.json) | ![svg file](./fibonacci.svg) | ![inlined leaves svg file](./fibonacci-inlined.svg) | ![inlined leaves saturated svg file](./fibonacci-inlined-saturated.svg) | | [`lambda_if`](../tests/lambda_if.json) | ![svg file](./lambda_if.svg) | ![inlined leaves svg file](./lambda_if-inlined.svg) | ![inlined leaves saturated svg file](./lambda_if-inlined-saturated.svg) | | [`list_list_hard_test_ellisk_2019-02-15T11.26.41--bench005_it7`](../tests/list_list_hard_test_ellisk_2019-02-15T11.26.41--bench005_it7.json) | ![svg file](./list_list_hard_test_ellisk_2019-02-15T11.26.41--bench005_it7.svg) | ![inlined leaves svg file](./list_list_hard_test_ellisk_2019-02-15T11.26.41--bench005_it7-inlined.svg) | ![inlined leaves saturated svg file](./list_list_hard_test_ellisk_2019-02-15T11.26.41--bench005_it7-inlined-saturated.svg) | diff --git a/tests-viz/fibonacci-split-inlined-saturated.svg b/tests-viz/fibonacci-split-inlined-saturated.svg new file mode 100644 index 0000000..15c97f7 --- /dev/null +++ b/tests-viz/fibonacci-split-inlined-saturated.svg @@ -0,0 +1,255 @@ + + + + + + + + +outer_cluster_fib-0-value + + +cluster_fib-0-value + + + +outer_cluster_fib-10080759905092916392-value + + +cluster_fib-10080759905092916392-value + + + +outer_cluster_fib-11743562013128004906-value + + +cluster_fib-11743562013128004906-value + + + +outer_cluster_fib-5040379952546458196-value + + +cluster_fib-5040379952546458196-value + + + +outer_cluster_fib-16783941965674463102-value + + +cluster_fib-16783941965674463102-value + + + +outer_cluster_fib-5871781006564002453-value + + +cluster_fib-5871781006564002453-value + + + +outer_cluster_fib-17615343019692007359-value + + +cluster_fib-17615343019692007359-value + + + +outer_cluster_fib-10912160959110460649-value + + +cluster_fib-10912160959110460649-value + + + +outer_cluster_fib-4208978898528913939-value + + +cluster_fib-4208978898528913939-value + + + + +fib-10080759905092916392 + + +fib(8) + + + + + + +fib-10080759905092916392-value + + +21 + + + + + + +fib-11743562013128004906-value + + +1 + + + + + + +fib-11743562013128004906 + + +fib(2) + + + + + + +fib-0-value + + +0 + + + + + + +fib-0 + + +fib(0) + + + + + + +fib-5040379952546458196-value + + +3 + + + + + + +fib-5040379952546458196 + + +fib(4) + + + + + + +fib-16783941965674463102 + + +fib(6) + + + + + + +fib-16783941965674463102-value + + +8 + + + + + + +fib-5871781006564002453-value + + +1 + + + + + + +fib-5871781006564002453 + + +fib(1) + + + + + + +fib-17615343019692007359-value + + +2 + + + + + + +fib-17615343019692007359 + + +fib(3) + + + + + + +fib-10912160959110460649-value + + +5 + + + + + + +fib-10912160959110460649 + + +fib(5) + + + + + + +fib-4208978898528913939-value + + +13 + + + + + + +fib-4208978898528913939 + + +fib(7) + + + + + + diff --git a/tests-viz/fibonacci-split-inlined.svg b/tests-viz/fibonacci-split-inlined.svg new file mode 100644 index 0000000..6da96cd --- /dev/null +++ b/tests-viz/fibonacci-split-inlined.svg @@ -0,0 +1,255 @@ + + + + + + + + +outer_cluster_fib-16783941965674463102-value + + +cluster_fib-16783941965674463102-value + + + +outer_cluster_fib-0-value + + +cluster_fib-0-value + + + +outer_cluster_fib-5871781006564002453-value + + +cluster_fib-5871781006564002453-value + + + +outer_cluster_fib-11743562013128004906-value + + +cluster_fib-11743562013128004906-value + + + +outer_cluster_fib-5040379952546458196-value + + +cluster_fib-5040379952546458196-value + + + +outer_cluster_fib-10080759905092916392-value + + +cluster_fib-10080759905092916392-value + + + +outer_cluster_fib-10912160959110460649-value + + +cluster_fib-10912160959110460649-value + + + +outer_cluster_fib-4208978898528913939-value + + +cluster_fib-4208978898528913939-value + + + +outer_cluster_fib-17615343019692007359-value + + +cluster_fib-17615343019692007359-value + + + + +fib-16783941965674463102-value + + +8 + + + + + + +fib-16783941965674463102 + + +fib(6) + + + + + + +fib-0-value + + +0 + + + + + + +fib-0 + + +fib(0) + + + + + + +fib-5871781006564002453-value + + +1 + + + + + + +fib-5871781006564002453 + + +fib(1) + + + + + + +fib-11743562013128004906-value + + +1 + + + + + + +fib-11743562013128004906 + + +fib(2) + + + + + + +fib-5040379952546458196-value + + +3 + + + + + + +fib-5040379952546458196 + + +fib(4) + + + + + + +fib-10080759905092916392 + + +fib(8) + + + + + + +fib-10080759905092916392-value + + +21 + + + + + + +fib-10912160959110460649-value + + +5 + + + + + + +fib-10912160959110460649 + + +fib(5) + + + + + + +fib-4208978898528913939-value + + +13 + + + + + + +fib-4208978898528913939 + + +fib(7) + + + + + + +fib-17615343019692007359-value + + +2 + + + + + + +fib-17615343019692007359 + + +fib(3) + + + + + + diff --git a/tests-viz/fibonacci-split.svg b/tests-viz/fibonacci-split.svg new file mode 100644 index 0000000..aff575b --- /dev/null +++ b/tests-viz/fibonacci-split.svg @@ -0,0 +1,462 @@ + + + + + + + + +outer_cluster_fib-17615343019692007359-value + + +cluster_fib-17615343019692007359-value + + + +outer_cluster_i64-5871781006564002453 + + +cluster_i64-5871781006564002453 + + + +outer_cluster_fib-4208978898528913939-value + + +cluster_fib-4208978898528913939-value + + + +outer_cluster_i64-5040379952546458196 + + +cluster_i64-5040379952546458196 + + + +outer_cluster_fib-10912160959110460649-value + + +cluster_fib-10912160959110460649-value + + + +outer_cluster_fib-10080759905092916392-value + + +cluster_fib-10080759905092916392-value + + + +outer_cluster_i64-11743562013128004906 + + +cluster_i64-11743562013128004906 + + + +outer_cluster_fib-16783941965674463102-value + + +cluster_fib-16783941965674463102-value + + + +outer_cluster_i64-10912160959110460649 + + +cluster_i64-10912160959110460649 + + + +outer_cluster_i64-4208978898528913939 + + +cluster_i64-4208978898528913939 + + + +outer_cluster_i64-0 + + +cluster_i64-0 + + + +outer_cluster_i64-10080759905092916392 + + +cluster_i64-10080759905092916392 + + + +outer_cluster_i64-17615343019692007359 + + +cluster_i64-17615343019692007359 + + + +outer_cluster_fib-11743562013128004906-value + + +cluster_fib-11743562013128004906-value + + + +outer_cluster_i64-16783941965674463102 + + +cluster_i64-16783941965674463102 + + + +outer_cluster_fib-0-value + + +cluster_fib-0-value + + + +outer_cluster_fib-5871781006564002453-value + + +cluster_fib-5871781006564002453-value + + + +outer_cluster_fib-5040379952546458196-value + + +cluster_fib-5040379952546458196-value + + + + +fib-17615343019692007359:s->i64-17615343019692007359 + + + + + +fib-4208978898528913939:s->i64-4208978898528913939 + + + + + +fib-10912160959110460649:s->i64-10912160959110460649 + + + + + +fib-10080759905092916392:s->i64-10080759905092916392 + + + + + +fib-16783941965674463102:s->i64-16783941965674463102 + + + + + +fib-11743562013128004906:s->i64-11743562013128004906 + + + + + +fib-0:s->i64-0 + + + + + +fib-5871781006564002453:s->i64-5871781006564002453 + + + + + +fib-5040379952546458196:s->i64-5040379952546458196 + + + + + +fib-17615343019692007359 + + +fib + + + + + + +i64-17615343019692007359 + + +3 + + + + + + +fib-17615343019692007359-value + + +2 + + + + + + +i64-5871781006564002453 + + +1 + + + + + + +fib-4208978898528913939 + + +fib + + + + + + +i64-4208978898528913939 + + +7 + + + + + + +fib-4208978898528913939-value + + +13 + + + + + + +i64-5040379952546458196 + + +4 + + + + + + +fib-10912160959110460649 + + +fib + + + + + + +i64-10912160959110460649 + + +5 + + + + + + +fib-10912160959110460649-value + + +5 + + + + + + +fib-10080759905092916392 + + +fib + + + + + + +i64-10080759905092916392 + + +8 + + + + + + +fib-10080759905092916392-value + + +21 + + + + + + +i64-11743562013128004906 + + +2 + + + + + + +fib-16783941965674463102 + + +fib + + + + + + +i64-16783941965674463102 + + +6 + + + + + + +fib-16783941965674463102-value + + +8 + + + + + + +i64-0 + + +0 + + + + + + +fib-11743562013128004906 + + +fib + + + + + + +fib-11743562013128004906-value + + +1 + + + + + + +fib-0 + + +fib + + + + + + +fib-0-value + + +0 + + + + + + +fib-5871781006564002453 + + +fib + + + + + + +fib-5871781006564002453-value + + +1 + + + + + + +fib-5040379952546458196 + + +fib + + + + + + +fib-5040379952546458196-value + + +3 + + + + + + diff --git a/tests/fibonacci-split.json b/tests/fibonacci-split.json new file mode 100644 index 0000000..423aa5b --- /dev/null +++ b/tests/fibonacci-split.json @@ -0,0 +1 @@ +{"nodes":{"fib-0-value":{"op":"0","children":[],"eclass":"fib-0-value","cost":0.0},"i64-0":{"op":"0","children":[],"eclass":"i64-0","cost":0.0},"fib-0":{"op":"fib","children":["i64-0"],"eclass":"fib-0-value","cost":1.0},"fib-5871781006564002453-value":{"op":"1","children":[],"eclass":"fib-5871781006564002453-value","cost":0.0},"i64-5871781006564002453":{"op":"1","children":[],"eclass":"i64-5871781006564002453","cost":0.0},"fib-5871781006564002453":{"op":"fib","children":["i64-5871781006564002453"],"eclass":"fib-5871781006564002453-value","cost":1.0},"fib-11743562013128004906-value":{"op":"1","children":[],"eclass":"fib-11743562013128004906-value","cost":0.0},"i64-11743562013128004906":{"op":"2","children":[],"eclass":"i64-11743562013128004906","cost":0.0},"fib-11743562013128004906":{"op":"fib","children":["i64-11743562013128004906"],"eclass":"fib-11743562013128004906-value","cost":1.0},"fib-17615343019692007359-value":{"op":"2","children":[],"eclass":"fib-17615343019692007359-value","cost":0.0},"i64-17615343019692007359":{"op":"3","children":[],"eclass":"i64-17615343019692007359","cost":0.0},"fib-17615343019692007359":{"op":"fib","children":["i64-17615343019692007359"],"eclass":"fib-17615343019692007359-value","cost":1.0},"fib-5040379952546458196-value":{"op":"3","children":[],"eclass":"fib-5040379952546458196-value","cost":0.0},"i64-5040379952546458196":{"op":"4","children":[],"eclass":"i64-5040379952546458196","cost":0.0},"fib-5040379952546458196":{"op":"fib","children":["i64-5040379952546458196"],"eclass":"fib-5040379952546458196-value","cost":1.0},"fib-10912160959110460649-value":{"op":"5","children":[],"eclass":"fib-10912160959110460649-value","cost":0.0},"i64-10912160959110460649":{"op":"5","children":[],"eclass":"i64-10912160959110460649","cost":0.0},"fib-10912160959110460649":{"op":"fib","children":["i64-10912160959110460649"],"eclass":"fib-10912160959110460649-value","cost":1.0},"fib-16783941965674463102-value":{"op":"8","children":[],"eclass":"fib-16783941965674463102-value","cost":0.0},"i64-16783941965674463102":{"op":"6","children":[],"eclass":"i64-16783941965674463102","cost":0.0},"fib-16783941965674463102":{"op":"fib","children":["i64-16783941965674463102"],"eclass":"fib-16783941965674463102-value","cost":1.0},"fib-4208978898528913939-value":{"op":"13","children":[],"eclass":"fib-4208978898528913939-value","cost":0.0},"i64-4208978898528913939":{"op":"7","children":[],"eclass":"i64-4208978898528913939","cost":0.0},"fib-4208978898528913939":{"op":"fib","children":["i64-4208978898528913939"],"eclass":"fib-4208978898528913939-value","cost":1.0},"fib-10080759905092916392-value":{"op":"21","children":[],"eclass":"fib-10080759905092916392-value","cost":0.0},"i64-10080759905092916392":{"op":"8","children":[],"eclass":"i64-10080759905092916392","cost":0.0},"fib-10080759905092916392":{"op":"fib","children":["i64-10080759905092916392"],"eclass":"fib-10080759905092916392-value","cost":1.0}},"root_eclasses":[],"class_data":{"fib-0-value":{"type":"i64"},"i64-0":{"type":"i64"},"fib-5871781006564002453-value":{"type":"i64"},"i64-5871781006564002453":{"type":"i64"},"fib-11743562013128004906-value":{"type":"i64"},"i64-11743562013128004906":{"type":"i64"},"fib-17615343019692007359-value":{"type":"i64"},"i64-17615343019692007359":{"type":"i64"},"fib-5040379952546458196-value":{"type":"i64"},"i64-5040379952546458196":{"type":"i64"},"fib-10912160959110460649-value":{"type":"i64"},"i64-10912160959110460649":{"type":"i64"},"fib-16783941965674463102-value":{"type":"i64"},"i64-16783941965674463102":{"type":"i64"},"fib-4208978898528913939-value":{"type":"i64"},"i64-4208978898528913939":{"type":"i64"},"fib-10080759905092916392-value":{"type":"i64"},"i64-10080759905092916392":{"type":"i64"}}} \ No newline at end of file