FastMath test2

Time bar (total: 1.8s)

start0.0ms (0%)

Memory
0.1MiB live, 0.1MiB allocated

analyze0.0ms (0%)

Memory
0.8MiB live, 0.8MiB allocated
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.9%0.1%0%0%0%0
100%99.9%0%0.1%0%0%0%1
Compiler

Compiled 13 to 11 computations (15.4% saved)

sample981.0ms (55.8%)

Memory
23.0MiB live, 1 093.4MiB allocated
Samples
677.0ms7 895×0valid
6.0ms49×2valid
6.0ms60×1valid
Precisions
Click to see histograms. Total time spent on operations: 384.0ms
ival-mult: 258.0ms (67.3% of total)
ival-add: 105.0ms (27.4% of total)
exact: 9.0ms (2.3% of total)
ival-true: 6.0ms (1.6% of total)
adjust: 3.0ms (0.8% of total)
ival-assert: 3.0ms (0.8% of total)
Bogosity

explain2.0ms (0.1%)

Memory
4.1MiB live, 4.1MiB allocated
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
00-0-(*.f64 d1 #s(literal 10 binary64))
00-0-(+.f64 (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) (*.f64 d1 #s(literal 20 binary64)))
00-0-(*.f64 d1 d2)
00-0-(*.f64 d1 #s(literal 20 binary64))
00-0-d2
00-0-(+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2))
00-0-d1
00-0-#s(literal 20 binary64)
00-0-#s(literal 10 binary64)
Confusion
Predicted +Predicted -
+00
-04
Precision
0/0
Recall
0/0
Confusion?
Predicted +Predicted MaybePredicted -
+000
-004
Precision?
0/0
Recall?
0/0
Freqs
test
numberfreq
04
Total Confusion?
Predicted +Predicted MaybePredicted -
+000
-001
Precision?
0/0
Recall?
0/0
Samples
1.0ms0valid
Compiler

Compiled 108 to 40 computations (63% saved)

Precisions
Click to see histograms. Total time spent on operations: 0.0ms
ival-true: 0.0ms (0% of total)
ival-add: 0.0ms (0% of total)
ival-mult: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

preprocess62.0ms (3.5%)

Memory
-22.8MiB live, 60.3MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02353
17139
221727
366725
4150325
5190525
6236825
7239825
8239825
0911
0149
1237
2395
3555
4585
0585
Stop Event
iter limit
saturated
iter limit
saturated
Calls
Call 1
Inputs
(+.f64 (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) (*.f64 d1 #s(literal 20 binary64)))
Outputs
(+.f64 (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) (*.f64 d1 #s(literal 20 binary64)))
(*.f64 (+.f64 #s(literal 30 binary64) d2) d1)
Symmetry

(negabs d1)

Compiler

Compiled 11 to 9 computations (18.2% saved)

eval0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated
Compiler

Compiled 0 to 2 computations (-∞% saved)

prune0.0ms (0%)

Memory
0.2MiB live, 0.2MiB allocated
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.6%
(+.f64 (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) (*.f64 d1 #s(literal 20 binary64)))
Compiler

Compiled 11 to 9 computations (18.2% saved)

simplify3.0ms (0.2%)

Memory
5.8MiB live, 5.8MiB allocated
Algorithm
egg-herbie
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 d1 d2)
cost-diff0
(*.f64 d1 #s(literal 10 binary64))
cost-diff320
(+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2))
cost-diff512
(+.f64 (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) (*.f64 d1 #s(literal 20 binary64)))
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0931
01427
12325
23923
35523
45823
05823
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
(+.f64 (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) (*.f64 d1 #s(literal 20 binary64)))
(+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2))
(*.f64 d1 #s(literal 10 binary64))
d1
#s(literal 10 binary64)
(*.f64 d1 d2)
d2
(*.f64 d1 #s(literal 20 binary64))
#s(literal 20 binary64)
Outputs
(+.f64 (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) (*.f64 d1 #s(literal 20 binary64)))
(*.f64 (+.f64 #s(literal 30 binary64) d2) d1)
(+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2))
(*.f64 (+.f64 d2 #s(literal 10 binary64)) d1)
(*.f64 d1 #s(literal 10 binary64))
(*.f64 #s(literal 10 binary64) d1)
d1
#s(literal 10 binary64)
(*.f64 d1 d2)
(*.f64 d2 d1)
d2
(*.f64 d1 #s(literal 20 binary64))
(*.f64 #s(literal 20 binary64) d1)
#s(literal 20 binary64)

localize1.0ms (0%)

Memory
1.6MiB live, 1.6MiB allocated
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy0
(*.f64 d1 d2)
accuracy0
(*.f64 d1 #s(literal 20 binary64))
accuracy0
(*.f64 d1 #s(literal 10 binary64))
accuracy0.25
(+.f64 (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) (*.f64 d1 #s(literal 20 binary64)))
Samples
0.0ms0valid
Compiler

Compiled 64 to 20 computations (68.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 0.0ms
ival-true: 0.0ms (0% of total)
ival-add: 0.0ms (0% of total)
ival-mult: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series11.0ms (0.6%)

Memory
-15.2MiB live, 22.4MiB allocated
Counts
5 → 96
Calls
Call 1
Inputs
#s(alt (+.f64 (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) (*.f64 d1 #s(literal 20 binary64))) (patch (+.f64 (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) (*.f64 d1 #s(literal 20 binary64))) #<representation binary64>) () ())
#s(alt (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) (patch (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) #<representation binary64>) () ())
#s(alt (*.f64 d1 #s(literal 10 binary64)) (patch (*.f64 d1 #s(literal 10 binary64)) #<representation binary64>) () ())
#s(alt (*.f64 d1 d2) (patch (*.f64 d1 d2) #<representation binary64>) () ())
#s(alt (*.f64 d1 #s(literal 20 binary64)) (patch (*.f64 d1 #s(literal 20 binary64)) #<representation binary64>) () ())
Outputs
#s(alt (+ (* 10 d1) (* 20 d1)) (taylor 0 d2) (#s(alt (+.f64 (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) (*.f64 d1 #s(literal 20 binary64))) (patch (+.f64 (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) (*.f64 d1 #s(literal 20 binary64))) #<representation binary64>) () ())) ())
#s(alt (+ (* 10 d1) (+ (* 20 d1) (* d1 d2))) (taylor 0 d2) (#s(alt (+.f64 (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) (*.f64 d1 #s(literal 20 binary64))) (patch (+.f64 (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) (*.f64 d1 #s(literal 20 binary64))) #<representation binary64>) () ())) ())
#s(alt (+ (* 10 d1) (+ (* 20 d1) (* d1 d2))) (taylor 0 d2) (#s(alt (+.f64 (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) (*.f64 d1 #s(literal 20 binary64))) (patch (+.f64 (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) (*.f64 d1 #s(literal 20 binary64))) #<representation binary64>) () ())) ())
#s(alt (+ (* 10 d1) (+ (* 20 d1) (* d1 d2))) (taylor 0 d2) (#s(alt (+.f64 (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) (*.f64 d1 #s(literal 20 binary64))) (patch (+.f64 (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) (*.f64 d1 #s(literal 20 binary64))) #<representation binary64>) () ())) ())
#s(alt (* 10 d1) (taylor 0 d2) (#s(alt (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) (patch (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) #<representation binary64>) () ())) ())
#s(alt (+ (* 10 d1) (* d1 d2)) (taylor 0 d2) (#s(alt (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) (patch (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) #<representation binary64>) () ())) ())
#s(alt (+ (* 10 d1) (* d1 d2)) (taylor 0 d2) (#s(alt (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) (patch (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) #<representation binary64>) () ())) ())
#s(alt (+ (* 10 d1) (* d1 d2)) (taylor 0 d2) (#s(alt (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) (patch (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) #<representation binary64>) () ())) ())
#s(alt (* d1 d2) (taylor 0 d2) (#s(alt (*.f64 d1 d2) (patch (*.f64 d1 d2) #<representation binary64>) () ())) ())
#s(alt (* d1 d2) (taylor 0 d2) (#s(alt (*.f64 d1 d2) (patch (*.f64 d1 d2) #<representation binary64>) () ())) ())
#s(alt (* d1 d2) (taylor 0 d2) (#s(alt (*.f64 d1 d2) (patch (*.f64 d1 d2) #<representation binary64>) () ())) ())
#s(alt (* d1 d2) (taylor 0 d2) (#s(alt (*.f64 d1 d2) (patch (*.f64 d1 d2) #<representation binary64>) () ())) ())
#s(alt (* d1 d2) (taylor inf d2) (#s(alt (+.f64 (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) (*.f64 d1 #s(literal 20 binary64))) (patch (+.f64 (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) (*.f64 d1 #s(literal 20 binary64))) #<representation binary64>) () ())) ())
#s(alt (* d2 (+ d1 (+ (* 10 (/ d1 d2)) (* 20 (/ d1 d2))))) (taylor inf d2) (#s(alt (+.f64 (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) (*.f64 d1 #s(literal 20 binary64))) (patch (+.f64 (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) (*.f64 d1 #s(literal 20 binary64))) #<representation binary64>) () ())) ())
#s(alt (* d2 (+ d1 (+ (* 10 (/ d1 d2)) (* 20 (/ d1 d2))))) (taylor inf d2) (#s(alt (+.f64 (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) (*.f64 d1 #s(literal 20 binary64))) (patch (+.f64 (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) (*.f64 d1 #s(literal 20 binary64))) #<representation binary64>) () ())) ())
#s(alt (* d2 (+ d1 (+ (* 10 (/ d1 d2)) (* 20 (/ d1 d2))))) (taylor inf d2) (#s(alt (+.f64 (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) (*.f64 d1 #s(literal 20 binary64))) (patch (+.f64 (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) (*.f64 d1 #s(literal 20 binary64))) #<representation binary64>) () ())) ())
#s(alt (* d1 d2) (taylor inf d2) (#s(alt (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) (patch (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) #<representation binary64>) () ())) ())
#s(alt (* d2 (+ d1 (* 10 (/ d1 d2)))) (taylor inf d2) (#s(alt (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) (patch (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) #<representation binary64>) () ())) ())
#s(alt (* d2 (+ d1 (* 10 (/ d1 d2)))) (taylor inf d2) (#s(alt (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) (patch (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) #<representation binary64>) () ())) ())
#s(alt (* d2 (+ d1 (* 10 (/ d1 d2)))) (taylor inf d2) (#s(alt (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) (patch (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) #<representation binary64>) () ())) ())
#s(alt (* d1 d2) (taylor inf d2) (#s(alt (*.f64 d1 d2) (patch (*.f64 d1 d2) #<representation binary64>) () ())) ())
#s(alt (* d1 d2) (taylor inf d2) (#s(alt (*.f64 d1 d2) (patch (*.f64 d1 d2) #<representation binary64>) () ())) ())
#s(alt (* d1 d2) (taylor inf d2) (#s(alt (*.f64 d1 d2) (patch (*.f64 d1 d2) #<representation binary64>) () ())) ())
#s(alt (* d1 d2) (taylor inf d2) (#s(alt (*.f64 d1 d2) (patch (*.f64 d1 d2) #<representation binary64>) () ())) ())
#s(alt (* d1 d2) (taylor -inf d2) (#s(alt (+.f64 (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) (*.f64 d1 #s(literal 20 binary64))) (patch (+.f64 (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) (*.f64 d1 #s(literal 20 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* d2 (+ (* -1 d1) (* -1 (/ (+ (* 10 d1) (* 20 d1)) d2))))) (taylor -inf d2) (#s(alt (+.f64 (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) (*.f64 d1 #s(literal 20 binary64))) (patch (+.f64 (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) (*.f64 d1 #s(literal 20 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* d2 (+ (* -1 d1) (* -1 (/ (+ (* 10 d1) (* 20 d1)) d2))))) (taylor -inf d2) (#s(alt (+.f64 (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) (*.f64 d1 #s(literal 20 binary64))) (patch (+.f64 (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) (*.f64 d1 #s(literal 20 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* d2 (+ (* -1 d1) (* -1 (/ (+ (* 10 d1) (* 20 d1)) d2))))) (taylor -inf d2) (#s(alt (+.f64 (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) (*.f64 d1 #s(literal 20 binary64))) (patch (+.f64 (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) (*.f64 d1 #s(literal 20 binary64))) #<representation binary64>) () ())) ())
#s(alt (* d1 d2) (taylor -inf d2) (#s(alt (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) (patch (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* d2 (+ (* -10 (/ d1 d2)) (* -1 d1)))) (taylor -inf d2) (#s(alt (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) (patch (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* d2 (+ (* -10 (/ d1 d2)) (* -1 d1)))) (taylor -inf d2) (#s(alt (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) (patch (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* d2 (+ (* -10 (/ d1 d2)) (* -1 d1)))) (taylor -inf d2) (#s(alt (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) (patch (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) #<representation binary64>) () ())) ())
#s(alt (* d1 d2) (taylor -inf d2) (#s(alt (*.f64 d1 d2) (patch (*.f64 d1 d2) #<representation binary64>) () ())) ())
#s(alt (* d1 d2) (taylor -inf d2) (#s(alt (*.f64 d1 d2) (patch (*.f64 d1 d2) #<representation binary64>) () ())) ())
#s(alt (* d1 d2) (taylor -inf d2) (#s(alt (*.f64 d1 d2) (patch (*.f64 d1 d2) #<representation binary64>) () ())) ())
#s(alt (* d1 d2) (taylor -inf d2) (#s(alt (*.f64 d1 d2) (patch (*.f64 d1 d2) #<representation binary64>) () ())) ())
#s(alt (* d1 (+ 30 d2)) (taylor 0 d1) (#s(alt (+.f64 (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) (*.f64 d1 #s(literal 20 binary64))) (patch (+.f64 (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) (*.f64 d1 #s(literal 20 binary64))) #<representation binary64>) () ())) ())
#s(alt (* d1 (+ 30 d2)) (taylor 0 d1) (#s(alt (+.f64 (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) (*.f64 d1 #s(literal 20 binary64))) (patch (+.f64 (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) (*.f64 d1 #s(literal 20 binary64))) #<representation binary64>) () ())) ())
#s(alt (* d1 (+ 30 d2)) (taylor 0 d1) (#s(alt (+.f64 (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) (*.f64 d1 #s(literal 20 binary64))) (patch (+.f64 (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) (*.f64 d1 #s(literal 20 binary64))) #<representation binary64>) () ())) ())
#s(alt (* d1 (+ 30 d2)) (taylor 0 d1) (#s(alt (+.f64 (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) (*.f64 d1 #s(literal 20 binary64))) (patch (+.f64 (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) (*.f64 d1 #s(literal 20 binary64))) #<representation binary64>) () ())) ())
#s(alt (* d1 (+ 10 d2)) (taylor 0 d1) (#s(alt (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) (patch (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) #<representation binary64>) () ())) ())
#s(alt (* d1 (+ 10 d2)) (taylor 0 d1) (#s(alt (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) (patch (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) #<representation binary64>) () ())) ())
#s(alt (* d1 (+ 10 d2)) (taylor 0 d1) (#s(alt (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) (patch (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) #<representation binary64>) () ())) ())
#s(alt (* d1 (+ 10 d2)) (taylor 0 d1) (#s(alt (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) (patch (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) #<representation binary64>) () ())) ())
#s(alt (* 10 d1) (taylor 0 d1) (#s(alt (*.f64 d1 #s(literal 10 binary64)) (patch (*.f64 d1 #s(literal 10 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 10 d1) (taylor 0 d1) (#s(alt (*.f64 d1 #s(literal 10 binary64)) (patch (*.f64 d1 #s(literal 10 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 10 d1) (taylor 0 d1) (#s(alt (*.f64 d1 #s(literal 10 binary64)) (patch (*.f64 d1 #s(literal 10 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 10 d1) (taylor 0 d1) (#s(alt (*.f64 d1 #s(literal 10 binary64)) (patch (*.f64 d1 #s(literal 10 binary64)) #<representation binary64>) () ())) ())
#s(alt (* d1 d2) (taylor 0 d1) (#s(alt (*.f64 d1 d2) (patch (*.f64 d1 d2) #<representation binary64>) () ())) ())
#s(alt (* d1 d2) (taylor 0 d1) (#s(alt (*.f64 d1 d2) (patch (*.f64 d1 d2) #<representation binary64>) () ())) ())
#s(alt (* d1 d2) (taylor 0 d1) (#s(alt (*.f64 d1 d2) (patch (*.f64 d1 d2) #<representation binary64>) () ())) ())
#s(alt (* d1 d2) (taylor 0 d1) (#s(alt (*.f64 d1 d2) (patch (*.f64 d1 d2) #<representation binary64>) () ())) ())
#s(alt (* 20 d1) (taylor 0 d1) (#s(alt (*.f64 d1 #s(literal 20 binary64)) (patch (*.f64 d1 #s(literal 20 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 20 d1) (taylor 0 d1) (#s(alt (*.f64 d1 #s(literal 20 binary64)) (patch (*.f64 d1 #s(literal 20 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 20 d1) (taylor 0 d1) (#s(alt (*.f64 d1 #s(literal 20 binary64)) (patch (*.f64 d1 #s(literal 20 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 20 d1) (taylor 0 d1) (#s(alt (*.f64 d1 #s(literal 20 binary64)) (patch (*.f64 d1 #s(literal 20 binary64)) #<representation binary64>) () ())) ())
#s(alt (* d1 (+ 30 d2)) (taylor inf d1) (#s(alt (+.f64 (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) (*.f64 d1 #s(literal 20 binary64))) (patch (+.f64 (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) (*.f64 d1 #s(literal 20 binary64))) #<representation binary64>) () ())) ())
#s(alt (* d1 (+ 30 d2)) (taylor inf d1) (#s(alt (+.f64 (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) (*.f64 d1 #s(literal 20 binary64))) (patch (+.f64 (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) (*.f64 d1 #s(literal 20 binary64))) #<representation binary64>) () ())) ())
#s(alt (* d1 (+ 30 d2)) (taylor inf d1) (#s(alt (+.f64 (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) (*.f64 d1 #s(literal 20 binary64))) (patch (+.f64 (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) (*.f64 d1 #s(literal 20 binary64))) #<representation binary64>) () ())) ())
#s(alt (* d1 (+ 30 d2)) (taylor inf d1) (#s(alt (+.f64 (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) (*.f64 d1 #s(literal 20 binary64))) (patch (+.f64 (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) (*.f64 d1 #s(literal 20 binary64))) #<representation binary64>) () ())) ())
#s(alt (* d1 (+ 10 d2)) (taylor inf d1) (#s(alt (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) (patch (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) #<representation binary64>) () ())) ())
#s(alt (* d1 (+ 10 d2)) (taylor inf d1) (#s(alt (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) (patch (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) #<representation binary64>) () ())) ())
#s(alt (* d1 (+ 10 d2)) (taylor inf d1) (#s(alt (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) (patch (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) #<representation binary64>) () ())) ())
#s(alt (* d1 (+ 10 d2)) (taylor inf d1) (#s(alt (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) (patch (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) #<representation binary64>) () ())) ())
#s(alt (* 10 d1) (taylor inf d1) (#s(alt (*.f64 d1 #s(literal 10 binary64)) (patch (*.f64 d1 #s(literal 10 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 10 d1) (taylor inf d1) (#s(alt (*.f64 d1 #s(literal 10 binary64)) (patch (*.f64 d1 #s(literal 10 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 10 d1) (taylor inf d1) (#s(alt (*.f64 d1 #s(literal 10 binary64)) (patch (*.f64 d1 #s(literal 10 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 10 d1) (taylor inf d1) (#s(alt (*.f64 d1 #s(literal 10 binary64)) (patch (*.f64 d1 #s(literal 10 binary64)) #<representation binary64>) () ())) ())
#s(alt (* d1 d2) (taylor inf d1) (#s(alt (*.f64 d1 d2) (patch (*.f64 d1 d2) #<representation binary64>) () ())) ())
#s(alt (* d1 d2) (taylor inf d1) (#s(alt (*.f64 d1 d2) (patch (*.f64 d1 d2) #<representation binary64>) () ())) ())
#s(alt (* d1 d2) (taylor inf d1) (#s(alt (*.f64 d1 d2) (patch (*.f64 d1 d2) #<representation binary64>) () ())) ())
#s(alt (* d1 d2) (taylor inf d1) (#s(alt (*.f64 d1 d2) (patch (*.f64 d1 d2) #<representation binary64>) () ())) ())
#s(alt (* 20 d1) (taylor inf d1) (#s(alt (*.f64 d1 #s(literal 20 binary64)) (patch (*.f64 d1 #s(literal 20 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 20 d1) (taylor inf d1) (#s(alt (*.f64 d1 #s(literal 20 binary64)) (patch (*.f64 d1 #s(literal 20 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 20 d1) (taylor inf d1) (#s(alt (*.f64 d1 #s(literal 20 binary64)) (patch (*.f64 d1 #s(literal 20 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 20 d1) (taylor inf d1) (#s(alt (*.f64 d1 #s(literal 20 binary64)) (patch (*.f64 d1 #s(literal 20 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* d1 (- (* -1 d2) 30))) (taylor -inf d1) (#s(alt (+.f64 (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) (*.f64 d1 #s(literal 20 binary64))) (patch (+.f64 (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) (*.f64 d1 #s(literal 20 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* d1 (- (* -1 d2) 30))) (taylor -inf d1) (#s(alt (+.f64 (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) (*.f64 d1 #s(literal 20 binary64))) (patch (+.f64 (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) (*.f64 d1 #s(literal 20 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* d1 (- (* -1 d2) 30))) (taylor -inf d1) (#s(alt (+.f64 (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) (*.f64 d1 #s(literal 20 binary64))) (patch (+.f64 (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) (*.f64 d1 #s(literal 20 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* d1 (- (* -1 d2) 30))) (taylor -inf d1) (#s(alt (+.f64 (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) (*.f64 d1 #s(literal 20 binary64))) (patch (+.f64 (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) (*.f64 d1 #s(literal 20 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* d1 (- (* -1 d2) 10))) (taylor -inf d1) (#s(alt (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) (patch (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* d1 (- (* -1 d2) 10))) (taylor -inf d1) (#s(alt (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) (patch (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* d1 (- (* -1 d2) 10))) (taylor -inf d1) (#s(alt (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) (patch (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* d1 (- (* -1 d2) 10))) (taylor -inf d1) (#s(alt (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) (patch (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) #<representation binary64>) () ())) ())
#s(alt (* 10 d1) (taylor -inf d1) (#s(alt (*.f64 d1 #s(literal 10 binary64)) (patch (*.f64 d1 #s(literal 10 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 10 d1) (taylor -inf d1) (#s(alt (*.f64 d1 #s(literal 10 binary64)) (patch (*.f64 d1 #s(literal 10 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 10 d1) (taylor -inf d1) (#s(alt (*.f64 d1 #s(literal 10 binary64)) (patch (*.f64 d1 #s(literal 10 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 10 d1) (taylor -inf d1) (#s(alt (*.f64 d1 #s(literal 10 binary64)) (patch (*.f64 d1 #s(literal 10 binary64)) #<representation binary64>) () ())) ())
#s(alt (* d1 d2) (taylor -inf d1) (#s(alt (*.f64 d1 d2) (patch (*.f64 d1 d2) #<representation binary64>) () ())) ())
#s(alt (* d1 d2) (taylor -inf d1) (#s(alt (*.f64 d1 d2) (patch (*.f64 d1 d2) #<representation binary64>) () ())) ())
#s(alt (* d1 d2) (taylor -inf d1) (#s(alt (*.f64 d1 d2) (patch (*.f64 d1 d2) #<representation binary64>) () ())) ())
#s(alt (* d1 d2) (taylor -inf d1) (#s(alt (*.f64 d1 d2) (patch (*.f64 d1 d2) #<representation binary64>) () ())) ())
#s(alt (* 20 d1) (taylor -inf d1) (#s(alt (*.f64 d1 #s(literal 20 binary64)) (patch (*.f64 d1 #s(literal 20 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 20 d1) (taylor -inf d1) (#s(alt (*.f64 d1 #s(literal 20 binary64)) (patch (*.f64 d1 #s(literal 20 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 20 d1) (taylor -inf d1) (#s(alt (*.f64 d1 #s(literal 20 binary64)) (patch (*.f64 d1 #s(literal 20 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 20 d1) (taylor -inf d1) (#s(alt (*.f64 d1 #s(literal 20 binary64)) (patch (*.f64 d1 #s(literal 20 binary64)) #<representation binary64>) () ())) ())
Calls

6 calls:

TimeVariablePointExpression
2.0ms
d1
@inf
((+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (+ (* d1 10) (* d1 d2)) (* d1 10) (* d1 d2) (* d1 20))
1.0ms
d1
@-inf
((+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (+ (* d1 10) (* d1 d2)) (* d1 10) (* d1 d2) (* d1 20))
1.0ms
d1
@0
((+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (+ (* d1 10) (* d1 d2)) (* d1 10) (* d1 d2) (* d1 20))
1.0ms
d2
@0
((+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (+ (* d1 10) (* d1 d2)) (* d1 10) (* d1 d2) (* d1 20))
1.0ms
d2
@-inf
((+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (+ (* d1 10) (* d1 d2)) (* d1 10) (* d1 d2) (* d1 20))

simplify147.0ms (8.3%)

Memory
38.4MiB live, 115.8MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
043372
1130372
2354372
3903372
42853372
55104372
66391372
76971372
87138372
97201372
107321372
08074372
Stop Event
iter limit
node limit
Counts
96 → 96
Calls
Call 1
Inputs
(+ (* 10 d1) (* 20 d1))
(+ (* 10 d1) (+ (* 20 d1) (* d1 d2)))
(+ (* 10 d1) (+ (* 20 d1) (* d1 d2)))
(+ (* 10 d1) (+ (* 20 d1) (* d1 d2)))
(* 10 d1)
(+ (* 10 d1) (* d1 d2))
(+ (* 10 d1) (* d1 d2))
(+ (* 10 d1) (* d1 d2))
(* d1 d2)
(* d1 d2)
(* d1 d2)
(* d1 d2)
(* d1 d2)
(* d2 (+ d1 (+ (* 10 (/ d1 d2)) (* 20 (/ d1 d2)))))
(* d2 (+ d1 (+ (* 10 (/ d1 d2)) (* 20 (/ d1 d2)))))
(* d2 (+ d1 (+ (* 10 (/ d1 d2)) (* 20 (/ d1 d2)))))
(* d1 d2)
(* d2 (+ d1 (* 10 (/ d1 d2))))
(* d2 (+ d1 (* 10 (/ d1 d2))))
(* d2 (+ d1 (* 10 (/ d1 d2))))
(* d1 d2)
(* d1 d2)
(* d1 d2)
(* d1 d2)
(* d1 d2)
(* -1 (* d2 (+ (* -1 d1) (* -1 (/ (+ (* 10 d1) (* 20 d1)) d2)))))
(* -1 (* d2 (+ (* -1 d1) (* -1 (/ (+ (* 10 d1) (* 20 d1)) d2)))))
(* -1 (* d2 (+ (* -1 d1) (* -1 (/ (+ (* 10 d1) (* 20 d1)) d2)))))
(* d1 d2)
(* -1 (* d2 (+ (* -10 (/ d1 d2)) (* -1 d1))))
(* -1 (* d2 (+ (* -10 (/ d1 d2)) (* -1 d1))))
(* -1 (* d2 (+ (* -10 (/ d1 d2)) (* -1 d1))))
(* d1 d2)
(* d1 d2)
(* d1 d2)
(* d1 d2)
(* d1 (+ 30 d2))
(* d1 (+ 30 d2))
(* d1 (+ 30 d2))
(* d1 (+ 30 d2))
(* d1 (+ 10 d2))
(* d1 (+ 10 d2))
(* d1 (+ 10 d2))
(* d1 (+ 10 d2))
(* 10 d1)
(* 10 d1)
(* 10 d1)
(* 10 d1)
(* d1 d2)
(* d1 d2)
(* d1 d2)
(* d1 d2)
(* 20 d1)
(* 20 d1)
(* 20 d1)
(* 20 d1)
(* d1 (+ 30 d2))
(* d1 (+ 30 d2))
(* d1 (+ 30 d2))
(* d1 (+ 30 d2))
(* d1 (+ 10 d2))
(* d1 (+ 10 d2))
(* d1 (+ 10 d2))
(* d1 (+ 10 d2))
(* 10 d1)
(* 10 d1)
(* 10 d1)
(* 10 d1)
(* d1 d2)
(* d1 d2)
(* d1 d2)
(* d1 d2)
(* 20 d1)
(* 20 d1)
(* 20 d1)
(* 20 d1)
(* -1 (* d1 (- (* -1 d2) 30)))
(* -1 (* d1 (- (* -1 d2) 30)))
(* -1 (* d1 (- (* -1 d2) 30)))
(* -1 (* d1 (- (* -1 d2) 30)))
(* -1 (* d1 (- (* -1 d2) 10)))
(* -1 (* d1 (- (* -1 d2) 10)))
(* -1 (* d1 (- (* -1 d2) 10)))
(* -1 (* d1 (- (* -1 d2) 10)))
(* 10 d1)
(* 10 d1)
(* 10 d1)
(* 10 d1)
(* d1 d2)
(* d1 d2)
(* d1 d2)
(* d1 d2)
(* 20 d1)
(* 20 d1)
(* 20 d1)
(* 20 d1)
Outputs
(+ (* 10 d1) (* 20 d1))
(*.f64 #s(literal 30 binary64) d1)
(+ (* 10 d1) (+ (* 20 d1) (* d1 d2)))
(*.f64 (-.f64 d2 #s(literal -30 binary64)) d1)
(+ (* 10 d1) (+ (* 20 d1) (* d1 d2)))
(*.f64 (-.f64 d2 #s(literal -30 binary64)) d1)
(+ (* 10 d1) (+ (* 20 d1) (* d1 d2)))
(*.f64 (-.f64 d2 #s(literal -30 binary64)) d1)
(* 10 d1)
(*.f64 d1 #s(literal 10 binary64))
(+ (* 10 d1) (* d1 d2))
(*.f64 (-.f64 d2 #s(literal -10 binary64)) d1)
(+ (* 10 d1) (* d1 d2))
(*.f64 (-.f64 d2 #s(literal -10 binary64)) d1)
(+ (* 10 d1) (* d1 d2))
(*.f64 (-.f64 d2 #s(literal -10 binary64)) d1)
(* d1 d2)
(*.f64 d2 d1)
(* d1 d2)
(*.f64 d2 d1)
(* d1 d2)
(*.f64 d2 d1)
(* d1 d2)
(*.f64 d2 d1)
(* d1 d2)
(*.f64 d2 d1)
(* d2 (+ d1 (+ (* 10 (/ d1 d2)) (* 20 (/ d1 d2)))))
(*.f64 (-.f64 d2 #s(literal -30 binary64)) d1)
(* d2 (+ d1 (+ (* 10 (/ d1 d2)) (* 20 (/ d1 d2)))))
(*.f64 (-.f64 d2 #s(literal -30 binary64)) d1)
(* d2 (+ d1 (+ (* 10 (/ d1 d2)) (* 20 (/ d1 d2)))))
(*.f64 (-.f64 d2 #s(literal -30 binary64)) d1)
(* d1 d2)
(*.f64 d2 d1)
(* d2 (+ d1 (* 10 (/ d1 d2))))
(*.f64 (-.f64 d2 #s(literal -10 binary64)) d1)
(* d2 (+ d1 (* 10 (/ d1 d2))))
(*.f64 (-.f64 d2 #s(literal -10 binary64)) d1)
(* d2 (+ d1 (* 10 (/ d1 d2))))
(*.f64 (-.f64 d2 #s(literal -10 binary64)) d1)
(* d1 d2)
(*.f64 d2 d1)
(* d1 d2)
(*.f64 d2 d1)
(* d1 d2)
(*.f64 d2 d1)
(* d1 d2)
(*.f64 d2 d1)
(* d1 d2)
(*.f64 d2 d1)
(* -1 (* d2 (+ (* -1 d1) (* -1 (/ (+ (* 10 d1) (* 20 d1)) d2)))))
(*.f64 (-.f64 d2 #s(literal -30 binary64)) d1)
(* -1 (* d2 (+ (* -1 d1) (* -1 (/ (+ (* 10 d1) (* 20 d1)) d2)))))
(*.f64 (-.f64 d2 #s(literal -30 binary64)) d1)
(* -1 (* d2 (+ (* -1 d1) (* -1 (/ (+ (* 10 d1) (* 20 d1)) d2)))))
(*.f64 (-.f64 d2 #s(literal -30 binary64)) d1)
(* d1 d2)
(*.f64 d2 d1)
(* -1 (* d2 (+ (* -10 (/ d1 d2)) (* -1 d1))))
(*.f64 (-.f64 d2 #s(literal -10 binary64)) d1)
(* -1 (* d2 (+ (* -10 (/ d1 d2)) (* -1 d1))))
(*.f64 (-.f64 d2 #s(literal -10 binary64)) d1)
(* -1 (* d2 (+ (* -10 (/ d1 d2)) (* -1 d1))))
(*.f64 (-.f64 d2 #s(literal -10 binary64)) d1)
(* d1 d2)
(*.f64 d2 d1)
(* d1 d2)
(*.f64 d2 d1)
(* d1 d2)
(*.f64 d2 d1)
(* d1 d2)
(*.f64 d2 d1)
(* d1 (+ 30 d2))
(*.f64 (-.f64 d2 #s(literal -30 binary64)) d1)
(* d1 (+ 30 d2))
(*.f64 (-.f64 d2 #s(literal -30 binary64)) d1)
(* d1 (+ 30 d2))
(*.f64 (-.f64 d2 #s(literal -30 binary64)) d1)
(* d1 (+ 30 d2))
(*.f64 (-.f64 d2 #s(literal -30 binary64)) d1)
(* d1 (+ 10 d2))
(*.f64 (-.f64 d2 #s(literal -10 binary64)) d1)
(* d1 (+ 10 d2))
(*.f64 (-.f64 d2 #s(literal -10 binary64)) d1)
(* d1 (+ 10 d2))
(*.f64 (-.f64 d2 #s(literal -10 binary64)) d1)
(* d1 (+ 10 d2))
(*.f64 (-.f64 d2 #s(literal -10 binary64)) d1)
(* 10 d1)
(*.f64 d1 #s(literal 10 binary64))
(* 10 d1)
(*.f64 d1 #s(literal 10 binary64))
(* 10 d1)
(*.f64 d1 #s(literal 10 binary64))
(* 10 d1)
(*.f64 d1 #s(literal 10 binary64))
(* d1 d2)
(*.f64 d2 d1)
(* d1 d2)
(*.f64 d2 d1)
(* d1 d2)
(*.f64 d2 d1)
(* d1 d2)
(*.f64 d2 d1)
(* 20 d1)
(*.f64 #s(literal 20 binary64) d1)
(* 20 d1)
(*.f64 #s(literal 20 binary64) d1)
(* 20 d1)
(*.f64 #s(literal 20 binary64) d1)
(* 20 d1)
(*.f64 #s(literal 20 binary64) d1)
(* d1 (+ 30 d2))
(*.f64 (-.f64 d2 #s(literal -30 binary64)) d1)
(* d1 (+ 30 d2))
(*.f64 (-.f64 d2 #s(literal -30 binary64)) d1)
(* d1 (+ 30 d2))
(*.f64 (-.f64 d2 #s(literal -30 binary64)) d1)
(* d1 (+ 30 d2))
(*.f64 (-.f64 d2 #s(literal -30 binary64)) d1)
(* d1 (+ 10 d2))
(*.f64 (-.f64 d2 #s(literal -10 binary64)) d1)
(* d1 (+ 10 d2))
(*.f64 (-.f64 d2 #s(literal -10 binary64)) d1)
(* d1 (+ 10 d2))
(*.f64 (-.f64 d2 #s(literal -10 binary64)) d1)
(* d1 (+ 10 d2))
(*.f64 (-.f64 d2 #s(literal -10 binary64)) d1)
(* 10 d1)
(*.f64 d1 #s(literal 10 binary64))
(* 10 d1)
(*.f64 d1 #s(literal 10 binary64))
(* 10 d1)
(*.f64 d1 #s(literal 10 binary64))
(* 10 d1)
(*.f64 d1 #s(literal 10 binary64))
(* d1 d2)
(*.f64 d2 d1)
(* d1 d2)
(*.f64 d2 d1)
(* d1 d2)
(*.f64 d2 d1)
(* d1 d2)
(*.f64 d2 d1)
(* 20 d1)
(*.f64 #s(literal 20 binary64) d1)
(* 20 d1)
(*.f64 #s(literal 20 binary64) d1)
(* 20 d1)
(*.f64 #s(literal 20 binary64) d1)
(* 20 d1)
(*.f64 #s(literal 20 binary64) d1)
(* -1 (* d1 (- (* -1 d2) 30)))
(*.f64 (-.f64 d2 #s(literal -30 binary64)) d1)
(* -1 (* d1 (- (* -1 d2) 30)))
(*.f64 (-.f64 d2 #s(literal -30 binary64)) d1)
(* -1 (* d1 (- (* -1 d2) 30)))
(*.f64 (-.f64 d2 #s(literal -30 binary64)) d1)
(* -1 (* d1 (- (* -1 d2) 30)))
(*.f64 (-.f64 d2 #s(literal -30 binary64)) d1)
(* -1 (* d1 (- (* -1 d2) 10)))
(*.f64 (-.f64 d2 #s(literal -10 binary64)) d1)
(* -1 (* d1 (- (* -1 d2) 10)))
(*.f64 (-.f64 d2 #s(literal -10 binary64)) d1)
(* -1 (* d1 (- (* -1 d2) 10)))
(*.f64 (-.f64 d2 #s(literal -10 binary64)) d1)
(* -1 (* d1 (- (* -1 d2) 10)))
(*.f64 (-.f64 d2 #s(literal -10 binary64)) d1)
(* 10 d1)
(*.f64 d1 #s(literal 10 binary64))
(* 10 d1)
(*.f64 d1 #s(literal 10 binary64))
(* 10 d1)
(*.f64 d1 #s(literal 10 binary64))
(* 10 d1)
(*.f64 d1 #s(literal 10 binary64))
(* d1 d2)
(*.f64 d2 d1)
(* d1 d2)
(*.f64 d2 d1)
(* d1 d2)
(*.f64 d2 d1)
(* d1 d2)
(*.f64 d2 d1)
(* 20 d1)
(*.f64 #s(literal 20 binary64) d1)
(* 20 d1)
(*.f64 #s(literal 20 binary64) d1)
(* 20 d1)
(*.f64 #s(literal 20 binary64) d1)
(* 20 d1)
(*.f64 #s(literal 20 binary64) d1)

rewrite189.0ms (10.8%)

Memory
-25.5MiB live, 216.0MiB allocated
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0927
01423
14821
242919
3667319
0803419
Stop Event
iter limit
node limit
iter limit
Counts
5 → 208
Calls
Call 1
Inputs
(+.f64 (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) (*.f64 d1 #s(literal 20 binary64)))
(+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2))
(*.f64 d1 #s(literal 10 binary64))
(*.f64 d1 d2)
(*.f64 d1 #s(literal 20 binary64))
Outputs
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>

eval5.0ms (0.3%)

Memory
12.6MiB live, 12.6MiB allocated
Compiler

Compiled 6 536 to 662 computations (89.9% saved)

prune0.0ms (0%)

Memory
1.3MiB live, 1.3MiB allocated
Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New3022304
Fresh000
Picked101
Done000
Total3032305
Accuracy
100.0%
Counts
305 → 2
Alt Table
Click to see full alt table
StatusAccuracyProgram
76.0%
#s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 d2 d1))
28.0%
#s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 #s(literal 30 binary64) d1))
Compiler

Compiled 8 to 9 computations (-12.5% saved)

simplify4.0ms (0.2%)

Memory
5.6MiB live, 5.6MiB allocated
Algorithm
egg-herbie
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 d2 d1)
cost-diff0
#s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 d2 d1))
cost-diff0
(*.f64 #s(literal 30 binary64) d1)
cost-diff0
#s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 #s(literal 30 binary64) d1))
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01440
01636
12632
24228
35728
05728
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
#s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 #s(literal 30 binary64) d1))
(*.f64 #s(literal 30 binary64) d1)
#s(literal 30 binary64)
d1
#s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 d2 d1))
(*.f64 d2 d1)
d2
d1
Outputs
#s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 #s(literal 30 binary64) d1))
#s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 d1 #s(literal 30 binary64)))
(*.f64 #s(literal 30 binary64) d1)
(*.f64 d1 #s(literal 30 binary64))
#s(literal 30 binary64)
d1
#s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 d2 d1))
(*.f64 d2 d1)
d2
d1

localize1.0ms (0%)

Memory
0.9MiB live, 0.9MiB allocated
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy0
(*.f64 d2 d1)
accuracy15.344069420114602
#s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 d2 d1))
accuracy0
(*.f64 #s(literal 30 binary64) d1)
accuracy46.08017258889182
#s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 #s(literal 30 binary64) d1))
Samples
0.0ms0valid
Compiler

Compiled 52 to 21 computations (59.6% saved)

Precisions
Click to see histograms. Total time spent on operations: 0.0ms
ival-true: 0.0ms (0% of total)
ival-add: 0.0ms (0% of total)
ival-mult: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series24.0ms (1.4%)

Memory
-29.2MiB live, 9.3MiB allocated
Counts
4 → 84
Calls
Call 1
Inputs
#s(alt #s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 #s(literal 30 binary64) d1)) (patch #s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 #s(literal 30 binary64) d1)) #<representation binary64>) () ())
#s(alt (*.f64 #s(literal 30 binary64) d1) (patch (*.f64 #s(literal 30 binary64) d1) #<representation binary64>) () ())
#s(alt #s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 d2 d1)) (patch #s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 d2 d1)) #<representation binary64>) () ())
#s(alt (*.f64 d2 d1) (patch (*.f64 d2 d1) #<representation binary64>) () ())
Outputs
#s(alt (+ (* 10 d1) (* 20 d1)) (taylor 0 d2) (#s(alt #s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 #s(literal 30 binary64) d1)) (patch #s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 #s(literal 30 binary64) d1)) #<representation binary64>) () ())) ())
#s(alt (+ (* 10 d1) (+ (* 20 d1) (* d1 d2))) (taylor 0 d2) (#s(alt #s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 #s(literal 30 binary64) d1)) (patch #s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 #s(literal 30 binary64) d1)) #<representation binary64>) () ())) ())
#s(alt (+ (* 10 d1) (+ (* 20 d1) (* d1 d2))) (taylor 0 d2) (#s(alt #s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 #s(literal 30 binary64) d1)) (patch #s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 #s(literal 30 binary64) d1)) #<representation binary64>) () ())) ())
#s(alt (+ (* 10 d1) (+ (* 20 d1) (* d1 d2))) (taylor 0 d2) (#s(alt #s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 #s(literal 30 binary64) d1)) (patch #s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 #s(literal 30 binary64) d1)) #<representation binary64>) () ())) ())
#s(alt (+ (* 10 d1) (* 20 d1)) (taylor 0 d2) (#s(alt #s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 d2 d1)) (patch #s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 d2 d1)) #<representation binary64>) () ())) ())
#s(alt (+ (* 10 d1) (+ (* 20 d1) (* d1 d2))) (taylor 0 d2) (#s(alt #s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 d2 d1)) (patch #s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 d2 d1)) #<representation binary64>) () ())) ())
#s(alt (+ (* 10 d1) (+ (* 20 d1) (* d1 d2))) (taylor 0 d2) (#s(alt #s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 d2 d1)) (patch #s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 d2 d1)) #<representation binary64>) () ())) ())
#s(alt (+ (* 10 d1) (+ (* 20 d1) (* d1 d2))) (taylor 0 d2) (#s(alt #s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 d2 d1)) (patch #s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 d2 d1)) #<representation binary64>) () ())) ())
#s(alt (* d1 d2) (taylor 0 d2) (#s(alt (*.f64 d2 d1) (patch (*.f64 d2 d1) #<representation binary64>) () ())) ())
#s(alt (* d1 d2) (taylor 0 d2) (#s(alt (*.f64 d2 d1) (patch (*.f64 d2 d1) #<representation binary64>) () ())) ())
#s(alt (* d1 d2) (taylor 0 d2) (#s(alt (*.f64 d2 d1) (patch (*.f64 d2 d1) #<representation binary64>) () ())) ())
#s(alt (* d1 d2) (taylor 0 d2) (#s(alt (*.f64 d2 d1) (patch (*.f64 d2 d1) #<representation binary64>) () ())) ())
#s(alt (* d1 d2) (taylor inf d2) (#s(alt #s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 #s(literal 30 binary64) d1)) (patch #s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 #s(literal 30 binary64) d1)) #<representation binary64>) () ())) ())
#s(alt (* d2 (+ d1 (+ (* 10 (/ d1 d2)) (* 20 (/ d1 d2))))) (taylor inf d2) (#s(alt #s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 #s(literal 30 binary64) d1)) (patch #s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 #s(literal 30 binary64) d1)) #<representation binary64>) () ())) ())
#s(alt (* d2 (+ d1 (+ (* 10 (/ d1 d2)) (* 20 (/ d1 d2))))) (taylor inf d2) (#s(alt #s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 #s(literal 30 binary64) d1)) (patch #s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 #s(literal 30 binary64) d1)) #<representation binary64>) () ())) ())
#s(alt (* d2 (+ d1 (+ (* 10 (/ d1 d2)) (* 20 (/ d1 d2))))) (taylor inf d2) (#s(alt #s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 #s(literal 30 binary64) d1)) (patch #s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 #s(literal 30 binary64) d1)) #<representation binary64>) () ())) ())
#s(alt (* d1 d2) (taylor inf d2) (#s(alt #s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 d2 d1)) (patch #s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 d2 d1)) #<representation binary64>) () ())) ())
#s(alt (* d2 (+ d1 (+ (* 10 (/ d1 d2)) (* 20 (/ d1 d2))))) (taylor inf d2) (#s(alt #s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 d2 d1)) (patch #s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 d2 d1)) #<representation binary64>) () ())) ())
#s(alt (* d2 (+ d1 (+ (* 10 (/ d1 d2)) (* 20 (/ d1 d2))))) (taylor inf d2) (#s(alt #s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 d2 d1)) (patch #s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 d2 d1)) #<representation binary64>) () ())) ())
#s(alt (* d2 (+ d1 (+ (* 10 (/ d1 d2)) (* 20 (/ d1 d2))))) (taylor inf d2) (#s(alt #s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 d2 d1)) (patch #s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 d2 d1)) #<representation binary64>) () ())) ())
#s(alt (* d1 d2) (taylor inf d2) (#s(alt (*.f64 d2 d1) (patch (*.f64 d2 d1) #<representation binary64>) () ())) ())
#s(alt (* d1 d2) (taylor inf d2) (#s(alt (*.f64 d2 d1) (patch (*.f64 d2 d1) #<representation binary64>) () ())) ())
#s(alt (* d1 d2) (taylor inf d2) (#s(alt (*.f64 d2 d1) (patch (*.f64 d2 d1) #<representation binary64>) () ())) ())
#s(alt (* d1 d2) (taylor inf d2) (#s(alt (*.f64 d2 d1) (patch (*.f64 d2 d1) #<representation binary64>) () ())) ())
#s(alt (* d1 d2) (taylor -inf d2) (#s(alt #s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 #s(literal 30 binary64) d1)) (patch #s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 #s(literal 30 binary64) d1)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* d2 (+ (* -1 d1) (* -1 (/ (+ (* 10 d1) (* 20 d1)) d2))))) (taylor -inf d2) (#s(alt #s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 #s(literal 30 binary64) d1)) (patch #s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 #s(literal 30 binary64) d1)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* d2 (+ (* -1 d1) (* -1 (/ (+ (* 10 d1) (* 20 d1)) d2))))) (taylor -inf d2) (#s(alt #s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 #s(literal 30 binary64) d1)) (patch #s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 #s(literal 30 binary64) d1)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* d2 (+ (* -1 d1) (* -1 (/ (+ (* 10 d1) (* 20 d1)) d2))))) (taylor -inf d2) (#s(alt #s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 #s(literal 30 binary64) d1)) (patch #s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 #s(literal 30 binary64) d1)) #<representation binary64>) () ())) ())
#s(alt (* d1 d2) (taylor -inf d2) (#s(alt #s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 d2 d1)) (patch #s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 d2 d1)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* d2 (+ (* -1 d1) (* -1 (/ (+ (* 10 d1) (* 20 d1)) d2))))) (taylor -inf d2) (#s(alt #s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 d2 d1)) (patch #s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 d2 d1)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* d2 (+ (* -1 d1) (* -1 (/ (+ (* 10 d1) (* 20 d1)) d2))))) (taylor -inf d2) (#s(alt #s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 d2 d1)) (patch #s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 d2 d1)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* d2 (+ (* -1 d1) (* -1 (/ (+ (* 10 d1) (* 20 d1)) d2))))) (taylor -inf d2) (#s(alt #s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 d2 d1)) (patch #s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 d2 d1)) #<representation binary64>) () ())) ())
#s(alt (* d1 d2) (taylor -inf d2) (#s(alt (*.f64 d2 d1) (patch (*.f64 d2 d1) #<representation binary64>) () ())) ())
#s(alt (* d1 d2) (taylor -inf d2) (#s(alt (*.f64 d2 d1) (patch (*.f64 d2 d1) #<representation binary64>) () ())) ())
#s(alt (* d1 d2) (taylor -inf d2) (#s(alt (*.f64 d2 d1) (patch (*.f64 d2 d1) #<representation binary64>) () ())) ())
#s(alt (* d1 d2) (taylor -inf d2) (#s(alt (*.f64 d2 d1) (patch (*.f64 d2 d1) #<representation binary64>) () ())) ())
#s(alt (* d1 (+ 30 d2)) (taylor 0 d1) (#s(alt #s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 #s(literal 30 binary64) d1)) (patch #s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 #s(literal 30 binary64) d1)) #<representation binary64>) () ())) ())
#s(alt (* d1 (+ 30 d2)) (taylor 0 d1) (#s(alt #s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 #s(literal 30 binary64) d1)) (patch #s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 #s(literal 30 binary64) d1)) #<representation binary64>) () ())) ())
#s(alt (* d1 (+ 30 d2)) (taylor 0 d1) (#s(alt #s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 #s(literal 30 binary64) d1)) (patch #s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 #s(literal 30 binary64) d1)) #<representation binary64>) () ())) ())
#s(alt (* d1 (+ 30 d2)) (taylor 0 d1) (#s(alt #s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 #s(literal 30 binary64) d1)) (patch #s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 #s(literal 30 binary64) d1)) #<representation binary64>) () ())) ())
#s(alt (* 30 d1) (taylor 0 d1) (#s(alt (*.f64 #s(literal 30 binary64) d1) (patch (*.f64 #s(literal 30 binary64) d1) #<representation binary64>) () ())) ())
#s(alt (* 30 d1) (taylor 0 d1) (#s(alt (*.f64 #s(literal 30 binary64) d1) (patch (*.f64 #s(literal 30 binary64) d1) #<representation binary64>) () ())) ())
#s(alt (* 30 d1) (taylor 0 d1) (#s(alt (*.f64 #s(literal 30 binary64) d1) (patch (*.f64 #s(literal 30 binary64) d1) #<representation binary64>) () ())) ())
#s(alt (* 30 d1) (taylor 0 d1) (#s(alt (*.f64 #s(literal 30 binary64) d1) (patch (*.f64 #s(literal 30 binary64) d1) #<representation binary64>) () ())) ())
#s(alt (* d1 (+ 30 d2)) (taylor 0 d1) (#s(alt #s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 d2 d1)) (patch #s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 d2 d1)) #<representation binary64>) () ())) ())
#s(alt (* d1 (+ 30 d2)) (taylor 0 d1) (#s(alt #s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 d2 d1)) (patch #s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 d2 d1)) #<representation binary64>) () ())) ())
#s(alt (* d1 (+ 30 d2)) (taylor 0 d1) (#s(alt #s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 d2 d1)) (patch #s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 d2 d1)) #<representation binary64>) () ())) ())
#s(alt (* d1 (+ 30 d2)) (taylor 0 d1) (#s(alt #s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 d2 d1)) (patch #s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 d2 d1)) #<representation binary64>) () ())) ())
#s(alt (* d1 d2) (taylor 0 d1) (#s(alt (*.f64 d2 d1) (patch (*.f64 d2 d1) #<representation binary64>) () ())) ())
#s(alt (* d1 d2) (taylor 0 d1) (#s(alt (*.f64 d2 d1) (patch (*.f64 d2 d1) #<representation binary64>) () ())) ())
#s(alt (* d1 d2) (taylor 0 d1) (#s(alt (*.f64 d2 d1) (patch (*.f64 d2 d1) #<representation binary64>) () ())) ())
#s(alt (* d1 d2) (taylor 0 d1) (#s(alt (*.f64 d2 d1) (patch (*.f64 d2 d1) #<representation binary64>) () ())) ())
#s(alt (* d1 (+ 30 d2)) (taylor inf d1) (#s(alt #s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 #s(literal 30 binary64) d1)) (patch #s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 #s(literal 30 binary64) d1)) #<representation binary64>) () ())) ())
#s(alt (* d1 (+ 30 d2)) (taylor inf d1) (#s(alt #s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 #s(literal 30 binary64) d1)) (patch #s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 #s(literal 30 binary64) d1)) #<representation binary64>) () ())) ())
#s(alt (* d1 (+ 30 d2)) (taylor inf d1) (#s(alt #s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 #s(literal 30 binary64) d1)) (patch #s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 #s(literal 30 binary64) d1)) #<representation binary64>) () ())) ())
#s(alt (* d1 (+ 30 d2)) (taylor inf d1) (#s(alt #s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 #s(literal 30 binary64) d1)) (patch #s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 #s(literal 30 binary64) d1)) #<representation binary64>) () ())) ())
#s(alt (* 30 d1) (taylor inf d1) (#s(alt (*.f64 #s(literal 30 binary64) d1) (patch (*.f64 #s(literal 30 binary64) d1) #<representation binary64>) () ())) ())
#s(alt (* 30 d1) (taylor inf d1) (#s(alt (*.f64 #s(literal 30 binary64) d1) (patch (*.f64 #s(literal 30 binary64) d1) #<representation binary64>) () ())) ())
#s(alt (* 30 d1) (taylor inf d1) (#s(alt (*.f64 #s(literal 30 binary64) d1) (patch (*.f64 #s(literal 30 binary64) d1) #<representation binary64>) () ())) ())
#s(alt (* 30 d1) (taylor inf d1) (#s(alt (*.f64 #s(literal 30 binary64) d1) (patch (*.f64 #s(literal 30 binary64) d1) #<representation binary64>) () ())) ())
#s(alt (* d1 (+ 30 d2)) (taylor inf d1) (#s(alt #s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 d2 d1)) (patch #s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 d2 d1)) #<representation binary64>) () ())) ())
#s(alt (* d1 (+ 30 d2)) (taylor inf d1) (#s(alt #s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 d2 d1)) (patch #s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 d2 d1)) #<representation binary64>) () ())) ())
#s(alt (* d1 (+ 30 d2)) (taylor inf d1) (#s(alt #s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 d2 d1)) (patch #s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 d2 d1)) #<representation binary64>) () ())) ())
#s(alt (* d1 (+ 30 d2)) (taylor inf d1) (#s(alt #s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 d2 d1)) (patch #s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 d2 d1)) #<representation binary64>) () ())) ())
#s(alt (* d1 d2) (taylor inf d1) (#s(alt (*.f64 d2 d1) (patch (*.f64 d2 d1) #<representation binary64>) () ())) ())
#s(alt (* d1 d2) (taylor inf d1) (#s(alt (*.f64 d2 d1) (patch (*.f64 d2 d1) #<representation binary64>) () ())) ())
#s(alt (* d1 d2) (taylor inf d1) (#s(alt (*.f64 d2 d1) (patch (*.f64 d2 d1) #<representation binary64>) () ())) ())
#s(alt (* d1 d2) (taylor inf d1) (#s(alt (*.f64 d2 d1) (patch (*.f64 d2 d1) #<representation binary64>) () ())) ())
#s(alt (* -1 (* d1 (- (* -1 d2) 30))) (taylor -inf d1) (#s(alt #s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 #s(literal 30 binary64) d1)) (patch #s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 #s(literal 30 binary64) d1)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* d1 (- (* -1 d2) 30))) (taylor -inf d1) (#s(alt #s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 #s(literal 30 binary64) d1)) (patch #s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 #s(literal 30 binary64) d1)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* d1 (- (* -1 d2) 30))) (taylor -inf d1) (#s(alt #s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 #s(literal 30 binary64) d1)) (patch #s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 #s(literal 30 binary64) d1)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* d1 (- (* -1 d2) 30))) (taylor -inf d1) (#s(alt #s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 #s(literal 30 binary64) d1)) (patch #s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 #s(literal 30 binary64) d1)) #<representation binary64>) () ())) ())
#s(alt (* 30 d1) (taylor -inf d1) (#s(alt (*.f64 #s(literal 30 binary64) d1) (patch (*.f64 #s(literal 30 binary64) d1) #<representation binary64>) () ())) ())
#s(alt (* 30 d1) (taylor -inf d1) (#s(alt (*.f64 #s(literal 30 binary64) d1) (patch (*.f64 #s(literal 30 binary64) d1) #<representation binary64>) () ())) ())
#s(alt (* 30 d1) (taylor -inf d1) (#s(alt (*.f64 #s(literal 30 binary64) d1) (patch (*.f64 #s(literal 30 binary64) d1) #<representation binary64>) () ())) ())
#s(alt (* 30 d1) (taylor -inf d1) (#s(alt (*.f64 #s(literal 30 binary64) d1) (patch (*.f64 #s(literal 30 binary64) d1) #<representation binary64>) () ())) ())
#s(alt (* -1 (* d1 (- (* -1 d2) 30))) (taylor -inf d1) (#s(alt #s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 d2 d1)) (patch #s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 d2 d1)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* d1 (- (* -1 d2) 30))) (taylor -inf d1) (#s(alt #s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 d2 d1)) (patch #s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 d2 d1)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* d1 (- (* -1 d2) 30))) (taylor -inf d1) (#s(alt #s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 d2 d1)) (patch #s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 d2 d1)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* d1 (- (* -1 d2) 30))) (taylor -inf d1) (#s(alt #s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 d2 d1)) (patch #s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 d2 d1)) #<representation binary64>) () ())) ())
#s(alt (* d1 d2) (taylor -inf d1) (#s(alt (*.f64 d2 d1) (patch (*.f64 d2 d1) #<representation binary64>) () ())) ())
#s(alt (* d1 d2) (taylor -inf d1) (#s(alt (*.f64 d2 d1) (patch (*.f64 d2 d1) #<representation binary64>) () ())) ())
#s(alt (* d1 d2) (taylor -inf d1) (#s(alt (*.f64 d2 d1) (patch (*.f64 d2 d1) #<representation binary64>) () ())) ())
#s(alt (* d1 d2) (taylor -inf d1) (#s(alt (*.f64 d2 d1) (patch (*.f64 d2 d1) #<representation binary64>) () ())) ())
Calls

6 calls:

TimeVariablePointExpression
20.0ms
d1
@-inf
((+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (* 30 d1) (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (* d2 d1))
1.0ms
d1
@inf
((+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (* 30 d1) (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (* d2 d1))
1.0ms
d1
@0
((+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (* 30 d1) (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (* d2 d1))
0.0ms
d2
@-inf
((+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (* 30 d1) (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (* d2 d1))
0.0ms
d2
@0
((+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (* 30 d1) (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (* d2 d1))

simplify163.0ms (9.3%)

Memory
12.0MiB live, 128.6MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
031336
187336
2240336
3709336
42530336
55001336
66578336
77588336
87918336
97946336
107990336
08176336
Stop Event
iter limit
node limit
Counts
84 → 84
Calls
Call 1
Inputs
(+ (* 10 d1) (* 20 d1))
(+ (* 10 d1) (+ (* 20 d1) (* d1 d2)))
(+ (* 10 d1) (+ (* 20 d1) (* d1 d2)))
(+ (* 10 d1) (+ (* 20 d1) (* d1 d2)))
(+ (* 10 d1) (* 20 d1))
(+ (* 10 d1) (+ (* 20 d1) (* d1 d2)))
(+ (* 10 d1) (+ (* 20 d1) (* d1 d2)))
(+ (* 10 d1) (+ (* 20 d1) (* d1 d2)))
(* d1 d2)
(* d1 d2)
(* d1 d2)
(* d1 d2)
(* d1 d2)
(* d2 (+ d1 (+ (* 10 (/ d1 d2)) (* 20 (/ d1 d2)))))
(* d2 (+ d1 (+ (* 10 (/ d1 d2)) (* 20 (/ d1 d2)))))
(* d2 (+ d1 (+ (* 10 (/ d1 d2)) (* 20 (/ d1 d2)))))
(* d1 d2)
(* d2 (+ d1 (+ (* 10 (/ d1 d2)) (* 20 (/ d1 d2)))))
(* d2 (+ d1 (+ (* 10 (/ d1 d2)) (* 20 (/ d1 d2)))))
(* d2 (+ d1 (+ (* 10 (/ d1 d2)) (* 20 (/ d1 d2)))))
(* d1 d2)
(* d1 d2)
(* d1 d2)
(* d1 d2)
(* d1 d2)
(* -1 (* d2 (+ (* -1 d1) (* -1 (/ (+ (* 10 d1) (* 20 d1)) d2)))))
(* -1 (* d2 (+ (* -1 d1) (* -1 (/ (+ (* 10 d1) (* 20 d1)) d2)))))
(* -1 (* d2 (+ (* -1 d1) (* -1 (/ (+ (* 10 d1) (* 20 d1)) d2)))))
(* d1 d2)
(* -1 (* d2 (+ (* -1 d1) (* -1 (/ (+ (* 10 d1) (* 20 d1)) d2)))))
(* -1 (* d2 (+ (* -1 d1) (* -1 (/ (+ (* 10 d1) (* 20 d1)) d2)))))
(* -1 (* d2 (+ (* -1 d1) (* -1 (/ (+ (* 10 d1) (* 20 d1)) d2)))))
(* d1 d2)
(* d1 d2)
(* d1 d2)
(* d1 d2)
(* d1 (+ 30 d2))
(* d1 (+ 30 d2))
(* d1 (+ 30 d2))
(* d1 (+ 30 d2))
(* 30 d1)
(* 30 d1)
(* 30 d1)
(* 30 d1)
(* d1 (+ 30 d2))
(* d1 (+ 30 d2))
(* d1 (+ 30 d2))
(* d1 (+ 30 d2))
(* d1 d2)
(* d1 d2)
(* d1 d2)
(* d1 d2)
(* d1 (+ 30 d2))
(* d1 (+ 30 d2))
(* d1 (+ 30 d2))
(* d1 (+ 30 d2))
(* 30 d1)
(* 30 d1)
(* 30 d1)
(* 30 d1)
(* d1 (+ 30 d2))
(* d1 (+ 30 d2))
(* d1 (+ 30 d2))
(* d1 (+ 30 d2))
(* d1 d2)
(* d1 d2)
(* d1 d2)
(* d1 d2)
(* -1 (* d1 (- (* -1 d2) 30)))
(* -1 (* d1 (- (* -1 d2) 30)))
(* -1 (* d1 (- (* -1 d2) 30)))
(* -1 (* d1 (- (* -1 d2) 30)))
(* 30 d1)
(* 30 d1)
(* 30 d1)
(* 30 d1)
(* -1 (* d1 (- (* -1 d2) 30)))
(* -1 (* d1 (- (* -1 d2) 30)))
(* -1 (* d1 (- (* -1 d2) 30)))
(* -1 (* d1 (- (* -1 d2) 30)))
(* d1 d2)
(* d1 d2)
(* d1 d2)
(* d1 d2)
Outputs
(+ (* 10 d1) (* 20 d1))
(*.f64 #s(literal 30 binary64) d1)
(+ (* 10 d1) (+ (* 20 d1) (* d1 d2)))
(*.f64 (-.f64 d2 #s(literal -30 binary64)) d1)
(+ (* 10 d1) (+ (* 20 d1) (* d1 d2)))
(*.f64 (-.f64 d2 #s(literal -30 binary64)) d1)
(+ (* 10 d1) (+ (* 20 d1) (* d1 d2)))
(*.f64 (-.f64 d2 #s(literal -30 binary64)) d1)
(+ (* 10 d1) (* 20 d1))
(*.f64 #s(literal 30 binary64) d1)
(+ (* 10 d1) (+ (* 20 d1) (* d1 d2)))
(*.f64 (-.f64 d2 #s(literal -30 binary64)) d1)
(+ (* 10 d1) (+ (* 20 d1) (* d1 d2)))
(*.f64 (-.f64 d2 #s(literal -30 binary64)) d1)
(+ (* 10 d1) (+ (* 20 d1) (* d1 d2)))
(*.f64 (-.f64 d2 #s(literal -30 binary64)) d1)
(* d1 d2)
(*.f64 d2 d1)
(* d1 d2)
(*.f64 d2 d1)
(* d1 d2)
(*.f64 d2 d1)
(* d1 d2)
(*.f64 d2 d1)
(* d1 d2)
(*.f64 d2 d1)
(* d2 (+ d1 (+ (* 10 (/ d1 d2)) (* 20 (/ d1 d2)))))
(*.f64 (-.f64 d2 #s(literal -30 binary64)) d1)
(* d2 (+ d1 (+ (* 10 (/ d1 d2)) (* 20 (/ d1 d2)))))
(*.f64 (-.f64 d2 #s(literal -30 binary64)) d1)
(* d2 (+ d1 (+ (* 10 (/ d1 d2)) (* 20 (/ d1 d2)))))
(*.f64 (-.f64 d2 #s(literal -30 binary64)) d1)
(* d1 d2)
(*.f64 d2 d1)
(* d2 (+ d1 (+ (* 10 (/ d1 d2)) (* 20 (/ d1 d2)))))
(*.f64 (-.f64 d2 #s(literal -30 binary64)) d1)
(* d2 (+ d1 (+ (* 10 (/ d1 d2)) (* 20 (/ d1 d2)))))
(*.f64 (-.f64 d2 #s(literal -30 binary64)) d1)
(* d2 (+ d1 (+ (* 10 (/ d1 d2)) (* 20 (/ d1 d2)))))
(*.f64 (-.f64 d2 #s(literal -30 binary64)) d1)
(* d1 d2)
(*.f64 d2 d1)
(* d1 d2)
(*.f64 d2 d1)
(* d1 d2)
(*.f64 d2 d1)
(* d1 d2)
(*.f64 d2 d1)
(* d1 d2)
(*.f64 d2 d1)
(* -1 (* d2 (+ (* -1 d1) (* -1 (/ (+ (* 10 d1) (* 20 d1)) d2)))))
(*.f64 (-.f64 d2 #s(literal -30 binary64)) d1)
(* -1 (* d2 (+ (* -1 d1) (* -1 (/ (+ (* 10 d1) (* 20 d1)) d2)))))
(*.f64 (-.f64 d2 #s(literal -30 binary64)) d1)
(* -1 (* d2 (+ (* -1 d1) (* -1 (/ (+ (* 10 d1) (* 20 d1)) d2)))))
(*.f64 (-.f64 d2 #s(literal -30 binary64)) d1)
(* d1 d2)
(*.f64 d2 d1)
(* -1 (* d2 (+ (* -1 d1) (* -1 (/ (+ (* 10 d1) (* 20 d1)) d2)))))
(*.f64 (-.f64 d2 #s(literal -30 binary64)) d1)
(* -1 (* d2 (+ (* -1 d1) (* -1 (/ (+ (* 10 d1) (* 20 d1)) d2)))))
(*.f64 (-.f64 d2 #s(literal -30 binary64)) d1)
(* -1 (* d2 (+ (* -1 d1) (* -1 (/ (+ (* 10 d1) (* 20 d1)) d2)))))
(*.f64 (-.f64 d2 #s(literal -30 binary64)) d1)
(* d1 d2)
(*.f64 d2 d1)
(* d1 d2)
(*.f64 d2 d1)
(* d1 d2)
(*.f64 d2 d1)
(* d1 d2)
(*.f64 d2 d1)
(* d1 (+ 30 d2))
(*.f64 (-.f64 d2 #s(literal -30 binary64)) d1)
(* d1 (+ 30 d2))
(*.f64 (-.f64 d2 #s(literal -30 binary64)) d1)
(* d1 (+ 30 d2))
(*.f64 (-.f64 d2 #s(literal -30 binary64)) d1)
(* d1 (+ 30 d2))
(*.f64 (-.f64 d2 #s(literal -30 binary64)) d1)
(* 30 d1)
(*.f64 #s(literal 30 binary64) d1)
(* 30 d1)
(*.f64 #s(literal 30 binary64) d1)
(* 30 d1)
(*.f64 #s(literal 30 binary64) d1)
(* 30 d1)
(*.f64 #s(literal 30 binary64) d1)
(* d1 (+ 30 d2))
(*.f64 (-.f64 d2 #s(literal -30 binary64)) d1)
(* d1 (+ 30 d2))
(*.f64 (-.f64 d2 #s(literal -30 binary64)) d1)
(* d1 (+ 30 d2))
(*.f64 (-.f64 d2 #s(literal -30 binary64)) d1)
(* d1 (+ 30 d2))
(*.f64 (-.f64 d2 #s(literal -30 binary64)) d1)
(* d1 d2)
(*.f64 d2 d1)
(* d1 d2)
(*.f64 d2 d1)
(* d1 d2)
(*.f64 d2 d1)
(* d1 d2)
(*.f64 d2 d1)
(* d1 (+ 30 d2))
(*.f64 (-.f64 d2 #s(literal -30 binary64)) d1)
(* d1 (+ 30 d2))
(*.f64 (-.f64 d2 #s(literal -30 binary64)) d1)
(* d1 (+ 30 d2))
(*.f64 (-.f64 d2 #s(literal -30 binary64)) d1)
(* d1 (+ 30 d2))
(*.f64 (-.f64 d2 #s(literal -30 binary64)) d1)
(* 30 d1)
(*.f64 #s(literal 30 binary64) d1)
(* 30 d1)
(*.f64 #s(literal 30 binary64) d1)
(* 30 d1)
(*.f64 #s(literal 30 binary64) d1)
(* 30 d1)
(*.f64 #s(literal 30 binary64) d1)
(* d1 (+ 30 d2))
(*.f64 (-.f64 d2 #s(literal -30 binary64)) d1)
(* d1 (+ 30 d2))
(*.f64 (-.f64 d2 #s(literal -30 binary64)) d1)
(* d1 (+ 30 d2))
(*.f64 (-.f64 d2 #s(literal -30 binary64)) d1)
(* d1 (+ 30 d2))
(*.f64 (-.f64 d2 #s(literal -30 binary64)) d1)
(* d1 d2)
(*.f64 d2 d1)
(* d1 d2)
(*.f64 d2 d1)
(* d1 d2)
(*.f64 d2 d1)
(* d1 d2)
(*.f64 d2 d1)
(* -1 (* d1 (- (* -1 d2) 30)))
(*.f64 (-.f64 d2 #s(literal -30 binary64)) d1)
(* -1 (* d1 (- (* -1 d2) 30)))
(*.f64 (-.f64 d2 #s(literal -30 binary64)) d1)
(* -1 (* d1 (- (* -1 d2) 30)))
(*.f64 (-.f64 d2 #s(literal -30 binary64)) d1)
(* -1 (* d1 (- (* -1 d2) 30)))
(*.f64 (-.f64 d2 #s(literal -30 binary64)) d1)
(* 30 d1)
(*.f64 #s(literal 30 binary64) d1)
(* 30 d1)
(*.f64 #s(literal 30 binary64) d1)
(* 30 d1)
(*.f64 #s(literal 30 binary64) d1)
(* 30 d1)
(*.f64 #s(literal 30 binary64) d1)
(* -1 (* d1 (- (* -1 d2) 30)))
(*.f64 (-.f64 d2 #s(literal -30 binary64)) d1)
(* -1 (* d1 (- (* -1 d2) 30)))
(*.f64 (-.f64 d2 #s(literal -30 binary64)) d1)
(* -1 (* d1 (- (* -1 d2) 30)))
(*.f64 (-.f64 d2 #s(literal -30 binary64)) d1)
(* -1 (* d1 (- (* -1 d2) 30)))
(*.f64 (-.f64 d2 #s(literal -30 binary64)) d1)
(* d1 d2)
(*.f64 d2 d1)
(* d1 d2)
(*.f64 d2 d1)
(* d1 d2)
(*.f64 d2 d1)
(* d1 d2)
(*.f64 d2 d1)

rewrite163.0ms (9.3%)

Memory
4.2MiB live, 200.4MiB allocated
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01436
01632
15128
243224
3668124
0804224
Stop Event
iter limit
node limit
iter limit
Counts
4 → 16
Calls
Call 1
Inputs
#s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 #s(literal 30 binary64) d1))
(*.f64 #s(literal 30 binary64) d1)
#s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 d2 d1))
(*.f64 d2 d1)
Outputs
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>

eval1.0ms (0%)

Memory
1.3MiB live, 1.3MiB allocated
Compiler

Compiled 620 to 69 computations (88.9% saved)

prune1.0ms (0%)

Memory
1.1MiB live, 1.1MiB allocated
Pruning

2 alts after pruning (0 fresh and 2 done)

PrunedKeptTotal
New1000100
Fresh000
Picked022
Done000
Total1002102
Accuracy
100.0%
Counts
102 → 2
Alt Table
Click to see full alt table
StatusAccuracyProgram
76.0%
#s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 d2 d1))
28.0%
#s(approx (+ (+ (* d1 10) (* d1 d2)) (* d1 20)) (*.f64 #s(literal 30 binary64) d1))
Compiler

Compiled 27 to 23 computations (14.8% saved)

regimes0.0ms (0%)

Memory
0.2MiB live, 0.2MiB allocated
Compiler

Compiled 11 to 9 computations (18.2% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated
Calls

1 calls:

0.0ms
(+.f64 (+.f64 (*.f64 d1 #s(literal 10 binary64)) (*.f64 d1 d2)) (*.f64 d1 #s(literal 20 binary64)))

Profiling

Loading profile data...