Text.Parsec.Token:makeTokenParser from parsec-3.1.9, A

Time bar (total: 1.5s)

start0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

analyze0.0ms (0%)

Memory
0.2MiB live, 0.2MiB 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 7 to 7 computations (0% saved)

sample522.0ms (35.9%)

Memory
32.8MiB live, 643.9MiB allocated
Samples
301.0ms8 004×0valid
Precisions
Click to see histograms. Total time spent on operations: 129.0ms
ival-div: 63.0ms (48.9% of total)
ival-add: 50.0ms (38.8% of total)
ival-true: 6.0ms (4.7% of total)
exact: 5.0ms (3.9% of total)
ival-assert: 4.0ms (3.1% of total)
Bogosity

explain1.0ms (0.1%)

Memory
1.9MiB live, 1.9MiB allocated
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
00-0-y
00-0-(+.f64 x y)
00-0-(/.f64 (+.f64 x y) #s(literal 10 binary64))
00-0-x
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
0.0ms0valid
Compiler

Compiled 42 to 24 computations (42.9% saved)

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

preprocess33.0ms (2.2%)

Memory
-9.1MiB live, 27.3MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01327
13525
26625
313925
434825
552325
655525
757225
055
075
185
085
Stop Event
iter limit
saturated
iter limit
saturated
Calls
Call 1
Inputs
(/.f64 (+.f64 x y) #s(literal 10 binary64))
Outputs
(/.f64 (+.f64 x y) #s(literal 10 binary64))
(/.f64 (+.f64 y x) #s(literal 10 binary64))
Symmetry

(sort x y)

Compiler

Compiled 5 to 5 computations (0% saved)

eval0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated
Compiler

Compiled 0 to 2 computations (-∞% saved)

prune0.0ms (0%)

Memory
0.1MiB live, 0.1MiB allocated
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(/.f64 (+.f64 x y) #s(literal 10 binary64))
Compiler

Compiled 5 to 5 computations (0% saved)

simplify3.0ms (0.2%)

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

Found 2 expressions of interest:

NewMetricScoreProgram
cost-diff0
(+.f64 x y)
cost-diff0
(/.f64 (+.f64 x y) #s(literal 10 binary64))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0511
0711
1811
0811
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
(/.f64 (+.f64 x y) #s(literal 10 binary64))
(+.f64 x y)
x
y
#s(literal 10 binary64)
Outputs
(/.f64 (+.f64 x y) #s(literal 10 binary64))
(/.f64 (+.f64 y x) #s(literal 10 binary64))
(+.f64 x y)
(+.f64 y x)
x
y
#s(literal 10 binary64)

localize0.0ms (0%)

Memory
0.6MiB live, 0.6MiB allocated
Localize:

Found 2 expressions of interest:

NewMetricScoreProgram
accuracy0
(/.f64 (+.f64 x y) #s(literal 10 binary64))
accuracy0
(+.f64 x y)
Samples
0.0ms0valid
Compiler

Compiled 24 to 12 computations (50% saved)

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

series3.0ms (0.2%)

Memory
3.9MiB live, 3.9MiB allocated
Counts
2 → 48
Calls
Call 1
Inputs
#s(alt (/.f64 (+.f64 x y) #s(literal 10 binary64)) (patch (/.f64 (+.f64 x y) #s(literal 10 binary64)) #<representation binary64>) () ())
#s(alt (+.f64 x y) (patch (+.f64 x y) #<representation binary64>) () ())
Outputs
#s(alt (* 1/10 x) (taylor 0 y) (#s(alt (/.f64 (+.f64 x y) #s(literal 10 binary64)) (patch (/.f64 (+.f64 x y) #s(literal 10 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ (* 1/10 x) (* 1/10 y)) (taylor 0 y) (#s(alt (/.f64 (+.f64 x y) #s(literal 10 binary64)) (patch (/.f64 (+.f64 x y) #s(literal 10 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ (* 1/10 x) (* 1/10 y)) (taylor 0 y) (#s(alt (/.f64 (+.f64 x y) #s(literal 10 binary64)) (patch (/.f64 (+.f64 x y) #s(literal 10 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ (* 1/10 x) (* 1/10 y)) (taylor 0 y) (#s(alt (/.f64 (+.f64 x y) #s(literal 10 binary64)) (patch (/.f64 (+.f64 x y) #s(literal 10 binary64)) #<representation binary64>) () ())) ())
#s(alt x (taylor 0 y) (#s(alt (+.f64 x y) (patch (+.f64 x y) #<representation binary64>) () ())) ())
#s(alt (+ x y) (taylor 0 y) (#s(alt (+.f64 x y) (patch (+.f64 x y) #<representation binary64>) () ())) ())
#s(alt (+ x y) (taylor 0 y) (#s(alt (+.f64 x y) (patch (+.f64 x y) #<representation binary64>) () ())) ())
#s(alt (+ x y) (taylor 0 y) (#s(alt (+.f64 x y) (patch (+.f64 x y) #<representation binary64>) () ())) ())
#s(alt (* 1/10 y) (taylor inf y) (#s(alt (/.f64 (+.f64 x y) #s(literal 10 binary64)) (patch (/.f64 (+.f64 x y) #s(literal 10 binary64)) #<representation binary64>) () ())) ())
#s(alt (* y (+ 1/10 (* 1/10 (/ x y)))) (taylor inf y) (#s(alt (/.f64 (+.f64 x y) #s(literal 10 binary64)) (patch (/.f64 (+.f64 x y) #s(literal 10 binary64)) #<representation binary64>) () ())) ())
#s(alt (* y (+ 1/10 (* 1/10 (/ x y)))) (taylor inf y) (#s(alt (/.f64 (+.f64 x y) #s(literal 10 binary64)) (patch (/.f64 (+.f64 x y) #s(literal 10 binary64)) #<representation binary64>) () ())) ())
#s(alt (* y (+ 1/10 (* 1/10 (/ x y)))) (taylor inf y) (#s(alt (/.f64 (+.f64 x y) #s(literal 10 binary64)) (patch (/.f64 (+.f64 x y) #s(literal 10 binary64)) #<representation binary64>) () ())) ())
#s(alt y (taylor inf y) (#s(alt (+.f64 x y) (patch (+.f64 x y) #<representation binary64>) () ())) ())
#s(alt (* y (+ 1 (/ x y))) (taylor inf y) (#s(alt (+.f64 x y) (patch (+.f64 x y) #<representation binary64>) () ())) ())
#s(alt (* y (+ 1 (/ x y))) (taylor inf y) (#s(alt (+.f64 x y) (patch (+.f64 x y) #<representation binary64>) () ())) ())
#s(alt (* y (+ 1 (/ x y))) (taylor inf y) (#s(alt (+.f64 x y) (patch (+.f64 x y) #<representation binary64>) () ())) ())
#s(alt (* 1/10 y) (taylor -inf y) (#s(alt (/.f64 (+.f64 x y) #s(literal 10 binary64)) (patch (/.f64 (+.f64 x y) #s(literal 10 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (- (* -1/10 (/ x y)) 1/10))) (taylor -inf y) (#s(alt (/.f64 (+.f64 x y) #s(literal 10 binary64)) (patch (/.f64 (+.f64 x y) #s(literal 10 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (- (* -1/10 (/ x y)) 1/10))) (taylor -inf y) (#s(alt (/.f64 (+.f64 x y) #s(literal 10 binary64)) (patch (/.f64 (+.f64 x y) #s(literal 10 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (- (* -1/10 (/ x y)) 1/10))) (taylor -inf y) (#s(alt (/.f64 (+.f64 x y) #s(literal 10 binary64)) (patch (/.f64 (+.f64 x y) #s(literal 10 binary64)) #<representation binary64>) () ())) ())
#s(alt y (taylor -inf y) (#s(alt (+.f64 x y) (patch (+.f64 x y) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (- (* -1 (/ x y)) 1))) (taylor -inf y) (#s(alt (+.f64 x y) (patch (+.f64 x y) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (- (* -1 (/ x y)) 1))) (taylor -inf y) (#s(alt (+.f64 x y) (patch (+.f64 x y) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (- (* -1 (/ x y)) 1))) (taylor -inf y) (#s(alt (+.f64 x y) (patch (+.f64 x y) #<representation binary64>) () ())) ())
#s(alt (* 1/10 y) (taylor 0 x) (#s(alt (/.f64 (+.f64 x y) #s(literal 10 binary64)) (patch (/.f64 (+.f64 x y) #s(literal 10 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ (* 1/10 x) (* 1/10 y)) (taylor 0 x) (#s(alt (/.f64 (+.f64 x y) #s(literal 10 binary64)) (patch (/.f64 (+.f64 x y) #s(literal 10 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ (* 1/10 x) (* 1/10 y)) (taylor 0 x) (#s(alt (/.f64 (+.f64 x y) #s(literal 10 binary64)) (patch (/.f64 (+.f64 x y) #s(literal 10 binary64)) #<representation binary64>) () ())) ())
#s(alt (+ (* 1/10 x) (* 1/10 y)) (taylor 0 x) (#s(alt (/.f64 (+.f64 x y) #s(literal 10 binary64)) (patch (/.f64 (+.f64 x y) #s(literal 10 binary64)) #<representation binary64>) () ())) ())
#s(alt y (taylor 0 x) (#s(alt (+.f64 x y) (patch (+.f64 x y) #<representation binary64>) () ())) ())
#s(alt (+ x y) (taylor 0 x) (#s(alt (+.f64 x y) (patch (+.f64 x y) #<representation binary64>) () ())) ())
#s(alt (+ x y) (taylor 0 x) (#s(alt (+.f64 x y) (patch (+.f64 x y) #<representation binary64>) () ())) ())
#s(alt (+ x y) (taylor 0 x) (#s(alt (+.f64 x y) (patch (+.f64 x y) #<representation binary64>) () ())) ())
#s(alt (* 1/10 x) (taylor inf x) (#s(alt (/.f64 (+.f64 x y) #s(literal 10 binary64)) (patch (/.f64 (+.f64 x y) #s(literal 10 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/10 (* 1/10 (/ y x)))) (taylor inf x) (#s(alt (/.f64 (+.f64 x y) #s(literal 10 binary64)) (patch (/.f64 (+.f64 x y) #s(literal 10 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/10 (* 1/10 (/ y x)))) (taylor inf x) (#s(alt (/.f64 (+.f64 x y) #s(literal 10 binary64)) (patch (/.f64 (+.f64 x y) #s(literal 10 binary64)) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/10 (* 1/10 (/ y x)))) (taylor inf x) (#s(alt (/.f64 (+.f64 x y) #s(literal 10 binary64)) (patch (/.f64 (+.f64 x y) #s(literal 10 binary64)) #<representation binary64>) () ())) ())
#s(alt x (taylor inf x) (#s(alt (+.f64 x y) (patch (+.f64 x y) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (/ y x))) (taylor inf x) (#s(alt (+.f64 x y) (patch (+.f64 x y) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (/ y x))) (taylor inf x) (#s(alt (+.f64 x y) (patch (+.f64 x y) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1 (/ y x))) (taylor inf x) (#s(alt (+.f64 x y) (patch (+.f64 x y) #<representation binary64>) () ())) ())
#s(alt (* 1/10 x) (taylor -inf x) (#s(alt (/.f64 (+.f64 x y) #s(literal 10 binary64)) (patch (/.f64 (+.f64 x y) #s(literal 10 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (- (* -1/10 (/ y x)) 1/10))) (taylor -inf x) (#s(alt (/.f64 (+.f64 x y) #s(literal 10 binary64)) (patch (/.f64 (+.f64 x y) #s(literal 10 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (- (* -1/10 (/ y x)) 1/10))) (taylor -inf x) (#s(alt (/.f64 (+.f64 x y) #s(literal 10 binary64)) (patch (/.f64 (+.f64 x y) #s(literal 10 binary64)) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (- (* -1/10 (/ y x)) 1/10))) (taylor -inf x) (#s(alt (/.f64 (+.f64 x y) #s(literal 10 binary64)) (patch (/.f64 (+.f64 x y) #s(literal 10 binary64)) #<representation binary64>) () ())) ())
#s(alt x (taylor -inf x) (#s(alt (+.f64 x y) (patch (+.f64 x y) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (- (* -1 (/ y x)) 1))) (taylor -inf x) (#s(alt (+.f64 x y) (patch (+.f64 x y) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (- (* -1 (/ y x)) 1))) (taylor -inf x) (#s(alt (+.f64 x y) (patch (+.f64 x y) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (- (* -1 (/ y x)) 1))) (taylor -inf x) (#s(alt (+.f64 x y) (patch (+.f64 x y) #<representation binary64>) () ())) ())
Calls

6 calls:

TimeVariablePointExpression
1.0ms
x
@-inf
((/ (+ x y) 10) (+ x y))
0.0ms
y
@-inf
((/ (+ x y) 10) (+ x y))
0.0ms
y
@inf
((/ (+ x y) 10) (+ x y))
0.0ms
x
@inf
((/ (+ x y) 10) (+ x y))
0.0ms
y
@0
((/ (+ x y) 10) (+ x y))

simplify324.0ms (22.3%)

Memory
-8.1MiB live, 114.9MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
038168
1115168
2264168
3783168
41814168
52648168
63320168
73621168
83783168
93819168
106057168
08007168
Stop Event
iter limit
node limit
Counts
48 → 42
Calls
Call 1
Inputs
(* 1/10 x)
(+ (* 1/10 x) (* 1/10 y))
(+ (* 1/10 x) (* 1/10 y))
(+ (* 1/10 x) (* 1/10 y))
x
(+ x y)
(+ x y)
(+ x y)
(* 1/10 y)
(* y (+ 1/10 (* 1/10 (/ x y))))
(* y (+ 1/10 (* 1/10 (/ x y))))
(* y (+ 1/10 (* 1/10 (/ x y))))
y
(* y (+ 1 (/ x y)))
(* y (+ 1 (/ x y)))
(* y (+ 1 (/ x y)))
(* 1/10 y)
(* -1 (* y (- (* -1/10 (/ x y)) 1/10)))
(* -1 (* y (- (* -1/10 (/ x y)) 1/10)))
(* -1 (* y (- (* -1/10 (/ x y)) 1/10)))
y
(* -1 (* y (- (* -1 (/ x y)) 1)))
(* -1 (* y (- (* -1 (/ x y)) 1)))
(* -1 (* y (- (* -1 (/ x y)) 1)))
(* 1/10 y)
(+ (* 1/10 x) (* 1/10 y))
(+ (* 1/10 x) (* 1/10 y))
(+ (* 1/10 x) (* 1/10 y))
y
(+ x y)
(+ x y)
(+ x y)
(* 1/10 x)
(* x (+ 1/10 (* 1/10 (/ y x))))
(* x (+ 1/10 (* 1/10 (/ y x))))
(* x (+ 1/10 (* 1/10 (/ y x))))
x
(* x (+ 1 (/ y x)))
(* x (+ 1 (/ y x)))
(* x (+ 1 (/ y x)))
(* 1/10 x)
(* -1 (* x (- (* -1/10 (/ y x)) 1/10)))
(* -1 (* x (- (* -1/10 (/ y x)) 1/10)))
(* -1 (* x (- (* -1/10 (/ y x)) 1/10)))
x
(* -1 (* x (- (* -1 (/ y x)) 1)))
(* -1 (* x (- (* -1 (/ y x)) 1)))
(* -1 (* x (- (* -1 (/ y x)) 1)))
Outputs
(* 1/10 x)
(*.f64 x #s(literal 1/10 binary64))
(+ (* 1/10 x) (* 1/10 y))
(*.f64 (+.f64 y x) #s(literal 1/10 binary64))
(+ (* 1/10 x) (* 1/10 y))
(*.f64 (+.f64 y x) #s(literal 1/10 binary64))
(+ (* 1/10 x) (* 1/10 y))
(*.f64 (+.f64 y x) #s(literal 1/10 binary64))
x
(+ x y)
(+.f64 y x)
(+ x y)
(+.f64 y x)
(+ x y)
(+.f64 y x)
(* 1/10 y)
(*.f64 y #s(literal 1/10 binary64))
(* y (+ 1/10 (* 1/10 (/ x y))))
(*.f64 (+.f64 y x) #s(literal 1/10 binary64))
(* y (+ 1/10 (* 1/10 (/ x y))))
(*.f64 (+.f64 y x) #s(literal 1/10 binary64))
(* y (+ 1/10 (* 1/10 (/ x y))))
(*.f64 (+.f64 y x) #s(literal 1/10 binary64))
y
(* y (+ 1 (/ x y)))
(+.f64 y x)
(* y (+ 1 (/ x y)))
(+.f64 y x)
(* y (+ 1 (/ x y)))
(+.f64 y x)
(* 1/10 y)
(*.f64 y #s(literal 1/10 binary64))
(* -1 (* y (- (* -1/10 (/ x y)) 1/10)))
(*.f64 (+.f64 y x) #s(literal 1/10 binary64))
(* -1 (* y (- (* -1/10 (/ x y)) 1/10)))
(*.f64 (+.f64 y x) #s(literal 1/10 binary64))
(* -1 (* y (- (* -1/10 (/ x y)) 1/10)))
(*.f64 (+.f64 y x) #s(literal 1/10 binary64))
y
(* -1 (* y (- (* -1 (/ x y)) 1)))
(+.f64 y x)
(* -1 (* y (- (* -1 (/ x y)) 1)))
(+.f64 y x)
(* -1 (* y (- (* -1 (/ x y)) 1)))
(+.f64 y x)
(* 1/10 y)
(*.f64 y #s(literal 1/10 binary64))
(+ (* 1/10 x) (* 1/10 y))
(*.f64 (+.f64 y x) #s(literal 1/10 binary64))
(+ (* 1/10 x) (* 1/10 y))
(*.f64 (+.f64 y x) #s(literal 1/10 binary64))
(+ (* 1/10 x) (* 1/10 y))
(*.f64 (+.f64 y x) #s(literal 1/10 binary64))
y
(+ x y)
(+.f64 y x)
(+ x y)
(+.f64 y x)
(+ x y)
(+.f64 y x)
(* 1/10 x)
(*.f64 x #s(literal 1/10 binary64))
(* x (+ 1/10 (* 1/10 (/ y x))))
(*.f64 (+.f64 y x) #s(literal 1/10 binary64))
(* x (+ 1/10 (* 1/10 (/ y x))))
(*.f64 (+.f64 y x) #s(literal 1/10 binary64))
(* x (+ 1/10 (* 1/10 (/ y x))))
(*.f64 (+.f64 y x) #s(literal 1/10 binary64))
x
(* x (+ 1 (/ y x)))
(+.f64 y x)
(* x (+ 1 (/ y x)))
(+.f64 y x)
(* x (+ 1 (/ y x)))
(+.f64 y x)
(* 1/10 x)
(*.f64 x #s(literal 1/10 binary64))
(* -1 (* x (- (* -1/10 (/ y x)) 1/10)))
(*.f64 (+.f64 y x) #s(literal 1/10 binary64))
(* -1 (* x (- (* -1/10 (/ y x)) 1/10)))
(*.f64 (+.f64 y x) #s(literal 1/10 binary64))
(* -1 (* x (- (* -1/10 (/ y x)) 1/10)))
(*.f64 (+.f64 y x) #s(literal 1/10 binary64))
x
(* -1 (* x (- (* -1 (/ y x)) 1)))
(+.f64 y x)
(* -1 (* x (- (* -1 (/ y x)) 1)))
(+.f64 y x)
(* -1 (* x (- (* -1 (/ y x)) 1)))
(+.f64 y x)

rewrite149.0ms (10.2%)

Memory
29.8MiB live, 134.0MiB allocated
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
058
078
1318
21838
317358
082138
Stop Event
iter limit
node limit
iter limit
Counts
2 → 371
Calls
Call 1
Inputs
(/.f64 (+.f64 x y) #s(literal 10 binary64))
(+.f64 x y)
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>
#<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>

eval28.0ms (1.9%)

Memory
-29.9MiB live, 22.4MiB allocated
Compiler

Compiled 8 499 to 1 095 computations (87.1% saved)

prune1.0ms (0%)

Memory
1.4MiB live, 1.4MiB allocated
Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New4112413
Fresh000
Picked011
Done000
Total4113414
Accuracy
100.0%
Counts
414 → 3
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(/.f64 (+.f64 x y) #s(literal 10 binary64))
50.5%
#s(approx (/ (+ x y) 10) (*.f64 y #s(literal 1/10 binary64)))
50.9%
#s(approx (/ (+ x y) 10) (*.f64 x #s(literal 1/10 binary64)))
Compiler

Compiled 13 to 15 computations (-15.4% saved)

simplify3.0ms (0.2%)

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

Found 4 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 y #s(literal 1/10 binary64))
cost-diff0
#s(approx (/ (+ x y) 10) (*.f64 y #s(literal 1/10 binary64)))
cost-diff0
(*.f64 x #s(literal 1/10 binary64))
cost-diff0
#s(approx (/ (+ x y) 10) (*.f64 x #s(literal 1/10 binary64)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01028
01228
11528
01528
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
#s(approx (/ (+ x y) 10) (*.f64 x #s(literal 1/10 binary64)))
(*.f64 x #s(literal 1/10 binary64))
x
#s(literal 1/10 binary64)
#s(approx (/ (+ x y) 10) (*.f64 y #s(literal 1/10 binary64)))
(*.f64 y #s(literal 1/10 binary64))
y
#s(literal 1/10 binary64)
Outputs
#s(approx (/ (+ x y) 10) (*.f64 x #s(literal 1/10 binary64)))
#s(approx (/ (+ x y) 10) (*.f64 #s(literal 1/10 binary64) x))
(*.f64 x #s(literal 1/10 binary64))
(*.f64 #s(literal 1/10 binary64) x)
x
#s(literal 1/10 binary64)
#s(approx (/ (+ x y) 10) (*.f64 y #s(literal 1/10 binary64)))
(*.f64 y #s(literal 1/10 binary64))
y
#s(literal 1/10 binary64)

localize1.0ms (0%)

Memory
1.3MiB live, 1.3MiB allocated
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy0.25
(*.f64 y #s(literal 1/10 binary64))
accuracy31.65030260387808
#s(approx (/ (+ x y) 10) (*.f64 y #s(literal 1/10 binary64)))
accuracy0.25
(*.f64 x #s(literal 1/10 binary64))
accuracy31.18218375234876
#s(approx (/ (+ x y) 10) (*.f64 x #s(literal 1/10 binary64)))
Samples
0.0ms0valid
Compiler

Compiled 40 to 17 computations (57.5% saved)

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

series4.0ms (0.3%)

Memory
8.0MiB live, 8.0MiB allocated
Counts
4 → 72
Calls
Call 1
Inputs
#s(alt #s(approx (/ (+ x y) 10) (*.f64 x #s(literal 1/10 binary64))) (patch #s(approx (/ (+ x y) 10) (*.f64 x #s(literal 1/10 binary64))) #<representation binary64>) () ())
#s(alt (*.f64 x #s(literal 1/10 binary64)) (patch (*.f64 x #s(literal 1/10 binary64)) #<representation binary64>) () ())
#s(alt #s(approx (/ (+ x y) 10) (*.f64 y #s(literal 1/10 binary64))) (patch #s(approx (/ (+ x y) 10) (*.f64 y #s(literal 1/10 binary64))) #<representation binary64>) () ())
#s(alt (*.f64 y #s(literal 1/10 binary64)) (patch (*.f64 y #s(literal 1/10 binary64)) #<representation binary64>) () ())
Outputs
#s(alt (* 1/10 x) (taylor 0 y) (#s(alt #s(approx (/ (+ x y) 10) (*.f64 x #s(literal 1/10 binary64))) (patch #s(approx (/ (+ x y) 10) (*.f64 x #s(literal 1/10 binary64))) #<representation binary64>) () ())) ())
#s(alt (+ (* 1/10 x) (* 1/10 y)) (taylor 0 y) (#s(alt #s(approx (/ (+ x y) 10) (*.f64 x #s(literal 1/10 binary64))) (patch #s(approx (/ (+ x y) 10) (*.f64 x #s(literal 1/10 binary64))) #<representation binary64>) () ())) ())
#s(alt (+ (* 1/10 x) (* 1/10 y)) (taylor 0 y) (#s(alt #s(approx (/ (+ x y) 10) (*.f64 x #s(literal 1/10 binary64))) (patch #s(approx (/ (+ x y) 10) (*.f64 x #s(literal 1/10 binary64))) #<representation binary64>) () ())) ())
#s(alt (+ (* 1/10 x) (* 1/10 y)) (taylor 0 y) (#s(alt #s(approx (/ (+ x y) 10) (*.f64 x #s(literal 1/10 binary64))) (patch #s(approx (/ (+ x y) 10) (*.f64 x #s(literal 1/10 binary64))) #<representation binary64>) () ())) ())
#s(alt (* 1/10 x) (taylor 0 y) (#s(alt #s(approx (/ (+ x y) 10) (*.f64 y #s(literal 1/10 binary64))) (patch #s(approx (/ (+ x y) 10) (*.f64 y #s(literal 1/10 binary64))) #<representation binary64>) () ())) ())
#s(alt (+ (* 1/10 x) (* 1/10 y)) (taylor 0 y) (#s(alt #s(approx (/ (+ x y) 10) (*.f64 y #s(literal 1/10 binary64))) (patch #s(approx (/ (+ x y) 10) (*.f64 y #s(literal 1/10 binary64))) #<representation binary64>) () ())) ())
#s(alt (+ (* 1/10 x) (* 1/10 y)) (taylor 0 y) (#s(alt #s(approx (/ (+ x y) 10) (*.f64 y #s(literal 1/10 binary64))) (patch #s(approx (/ (+ x y) 10) (*.f64 y #s(literal 1/10 binary64))) #<representation binary64>) () ())) ())
#s(alt (+ (* 1/10 x) (* 1/10 y)) (taylor 0 y) (#s(alt #s(approx (/ (+ x y) 10) (*.f64 y #s(literal 1/10 binary64))) (patch #s(approx (/ (+ x y) 10) (*.f64 y #s(literal 1/10 binary64))) #<representation binary64>) () ())) ())
#s(alt (* 1/10 y) (taylor 0 y) (#s(alt (*.f64 y #s(literal 1/10 binary64)) (patch (*.f64 y #s(literal 1/10 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/10 y) (taylor 0 y) (#s(alt (*.f64 y #s(literal 1/10 binary64)) (patch (*.f64 y #s(literal 1/10 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/10 y) (taylor 0 y) (#s(alt (*.f64 y #s(literal 1/10 binary64)) (patch (*.f64 y #s(literal 1/10 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/10 y) (taylor 0 y) (#s(alt (*.f64 y #s(literal 1/10 binary64)) (patch (*.f64 y #s(literal 1/10 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/10 y) (taylor inf y) (#s(alt #s(approx (/ (+ x y) 10) (*.f64 x #s(literal 1/10 binary64))) (patch #s(approx (/ (+ x y) 10) (*.f64 x #s(literal 1/10 binary64))) #<representation binary64>) () ())) ())
#s(alt (* y (+ 1/10 (* 1/10 (/ x y)))) (taylor inf y) (#s(alt #s(approx (/ (+ x y) 10) (*.f64 x #s(literal 1/10 binary64))) (patch #s(approx (/ (+ x y) 10) (*.f64 x #s(literal 1/10 binary64))) #<representation binary64>) () ())) ())
#s(alt (* y (+ 1/10 (* 1/10 (/ x y)))) (taylor inf y) (#s(alt #s(approx (/ (+ x y) 10) (*.f64 x #s(literal 1/10 binary64))) (patch #s(approx (/ (+ x y) 10) (*.f64 x #s(literal 1/10 binary64))) #<representation binary64>) () ())) ())
#s(alt (* y (+ 1/10 (* 1/10 (/ x y)))) (taylor inf y) (#s(alt #s(approx (/ (+ x y) 10) (*.f64 x #s(literal 1/10 binary64))) (patch #s(approx (/ (+ x y) 10) (*.f64 x #s(literal 1/10 binary64))) #<representation binary64>) () ())) ())
#s(alt (* 1/10 y) (taylor inf y) (#s(alt #s(approx (/ (+ x y) 10) (*.f64 y #s(literal 1/10 binary64))) (patch #s(approx (/ (+ x y) 10) (*.f64 y #s(literal 1/10 binary64))) #<representation binary64>) () ())) ())
#s(alt (* y (+ 1/10 (* 1/10 (/ x y)))) (taylor inf y) (#s(alt #s(approx (/ (+ x y) 10) (*.f64 y #s(literal 1/10 binary64))) (patch #s(approx (/ (+ x y) 10) (*.f64 y #s(literal 1/10 binary64))) #<representation binary64>) () ())) ())
#s(alt (* y (+ 1/10 (* 1/10 (/ x y)))) (taylor inf y) (#s(alt #s(approx (/ (+ x y) 10) (*.f64 y #s(literal 1/10 binary64))) (patch #s(approx (/ (+ x y) 10) (*.f64 y #s(literal 1/10 binary64))) #<representation binary64>) () ())) ())
#s(alt (* y (+ 1/10 (* 1/10 (/ x y)))) (taylor inf y) (#s(alt #s(approx (/ (+ x y) 10) (*.f64 y #s(literal 1/10 binary64))) (patch #s(approx (/ (+ x y) 10) (*.f64 y #s(literal 1/10 binary64))) #<representation binary64>) () ())) ())
#s(alt (* 1/10 y) (taylor inf y) (#s(alt (*.f64 y #s(literal 1/10 binary64)) (patch (*.f64 y #s(literal 1/10 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/10 y) (taylor inf y) (#s(alt (*.f64 y #s(literal 1/10 binary64)) (patch (*.f64 y #s(literal 1/10 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/10 y) (taylor inf y) (#s(alt (*.f64 y #s(literal 1/10 binary64)) (patch (*.f64 y #s(literal 1/10 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/10 y) (taylor inf y) (#s(alt (*.f64 y #s(literal 1/10 binary64)) (patch (*.f64 y #s(literal 1/10 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/10 y) (taylor -inf y) (#s(alt #s(approx (/ (+ x y) 10) (*.f64 x #s(literal 1/10 binary64))) (patch #s(approx (/ (+ x y) 10) (*.f64 x #s(literal 1/10 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (- (* -1/10 (/ x y)) 1/10))) (taylor -inf y) (#s(alt #s(approx (/ (+ x y) 10) (*.f64 x #s(literal 1/10 binary64))) (patch #s(approx (/ (+ x y) 10) (*.f64 x #s(literal 1/10 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (- (* -1/10 (/ x y)) 1/10))) (taylor -inf y) (#s(alt #s(approx (/ (+ x y) 10) (*.f64 x #s(literal 1/10 binary64))) (patch #s(approx (/ (+ x y) 10) (*.f64 x #s(literal 1/10 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (- (* -1/10 (/ x y)) 1/10))) (taylor -inf y) (#s(alt #s(approx (/ (+ x y) 10) (*.f64 x #s(literal 1/10 binary64))) (patch #s(approx (/ (+ x y) 10) (*.f64 x #s(literal 1/10 binary64))) #<representation binary64>) () ())) ())
#s(alt (* 1/10 y) (taylor -inf y) (#s(alt #s(approx (/ (+ x y) 10) (*.f64 y #s(literal 1/10 binary64))) (patch #s(approx (/ (+ x y) 10) (*.f64 y #s(literal 1/10 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (- (* -1/10 (/ x y)) 1/10))) (taylor -inf y) (#s(alt #s(approx (/ (+ x y) 10) (*.f64 y #s(literal 1/10 binary64))) (patch #s(approx (/ (+ x y) 10) (*.f64 y #s(literal 1/10 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (- (* -1/10 (/ x y)) 1/10))) (taylor -inf y) (#s(alt #s(approx (/ (+ x y) 10) (*.f64 y #s(literal 1/10 binary64))) (patch #s(approx (/ (+ x y) 10) (*.f64 y #s(literal 1/10 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* y (- (* -1/10 (/ x y)) 1/10))) (taylor -inf y) (#s(alt #s(approx (/ (+ x y) 10) (*.f64 y #s(literal 1/10 binary64))) (patch #s(approx (/ (+ x y) 10) (*.f64 y #s(literal 1/10 binary64))) #<representation binary64>) () ())) ())
#s(alt (* 1/10 y) (taylor -inf y) (#s(alt (*.f64 y #s(literal 1/10 binary64)) (patch (*.f64 y #s(literal 1/10 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/10 y) (taylor -inf y) (#s(alt (*.f64 y #s(literal 1/10 binary64)) (patch (*.f64 y #s(literal 1/10 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/10 y) (taylor -inf y) (#s(alt (*.f64 y #s(literal 1/10 binary64)) (patch (*.f64 y #s(literal 1/10 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/10 y) (taylor -inf y) (#s(alt (*.f64 y #s(literal 1/10 binary64)) (patch (*.f64 y #s(literal 1/10 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/10 y) (taylor 0 x) (#s(alt #s(approx (/ (+ x y) 10) (*.f64 x #s(literal 1/10 binary64))) (patch #s(approx (/ (+ x y) 10) (*.f64 x #s(literal 1/10 binary64))) #<representation binary64>) () ())) ())
#s(alt (+ (* 1/10 x) (* 1/10 y)) (taylor 0 x) (#s(alt #s(approx (/ (+ x y) 10) (*.f64 x #s(literal 1/10 binary64))) (patch #s(approx (/ (+ x y) 10) (*.f64 x #s(literal 1/10 binary64))) #<representation binary64>) () ())) ())
#s(alt (+ (* 1/10 x) (* 1/10 y)) (taylor 0 x) (#s(alt #s(approx (/ (+ x y) 10) (*.f64 x #s(literal 1/10 binary64))) (patch #s(approx (/ (+ x y) 10) (*.f64 x #s(literal 1/10 binary64))) #<representation binary64>) () ())) ())
#s(alt (+ (* 1/10 x) (* 1/10 y)) (taylor 0 x) (#s(alt #s(approx (/ (+ x y) 10) (*.f64 x #s(literal 1/10 binary64))) (patch #s(approx (/ (+ x y) 10) (*.f64 x #s(literal 1/10 binary64))) #<representation binary64>) () ())) ())
#s(alt (* 1/10 x) (taylor 0 x) (#s(alt (*.f64 x #s(literal 1/10 binary64)) (patch (*.f64 x #s(literal 1/10 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/10 x) (taylor 0 x) (#s(alt (*.f64 x #s(literal 1/10 binary64)) (patch (*.f64 x #s(literal 1/10 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/10 x) (taylor 0 x) (#s(alt (*.f64 x #s(literal 1/10 binary64)) (patch (*.f64 x #s(literal 1/10 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/10 x) (taylor 0 x) (#s(alt (*.f64 x #s(literal 1/10 binary64)) (patch (*.f64 x #s(literal 1/10 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/10 y) (taylor 0 x) (#s(alt #s(approx (/ (+ x y) 10) (*.f64 y #s(literal 1/10 binary64))) (patch #s(approx (/ (+ x y) 10) (*.f64 y #s(literal 1/10 binary64))) #<representation binary64>) () ())) ())
#s(alt (+ (* 1/10 x) (* 1/10 y)) (taylor 0 x) (#s(alt #s(approx (/ (+ x y) 10) (*.f64 y #s(literal 1/10 binary64))) (patch #s(approx (/ (+ x y) 10) (*.f64 y #s(literal 1/10 binary64))) #<representation binary64>) () ())) ())
#s(alt (+ (* 1/10 x) (* 1/10 y)) (taylor 0 x) (#s(alt #s(approx (/ (+ x y) 10) (*.f64 y #s(literal 1/10 binary64))) (patch #s(approx (/ (+ x y) 10) (*.f64 y #s(literal 1/10 binary64))) #<representation binary64>) () ())) ())
#s(alt (+ (* 1/10 x) (* 1/10 y)) (taylor 0 x) (#s(alt #s(approx (/ (+ x y) 10) (*.f64 y #s(literal 1/10 binary64))) (patch #s(approx (/ (+ x y) 10) (*.f64 y #s(literal 1/10 binary64))) #<representation binary64>) () ())) ())
#s(alt (* 1/10 x) (taylor inf x) (#s(alt #s(approx (/ (+ x y) 10) (*.f64 x #s(literal 1/10 binary64))) (patch #s(approx (/ (+ x y) 10) (*.f64 x #s(literal 1/10 binary64))) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/10 (* 1/10 (/ y x)))) (taylor inf x) (#s(alt #s(approx (/ (+ x y) 10) (*.f64 x #s(literal 1/10 binary64))) (patch #s(approx (/ (+ x y) 10) (*.f64 x #s(literal 1/10 binary64))) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/10 (* 1/10 (/ y x)))) (taylor inf x) (#s(alt #s(approx (/ (+ x y) 10) (*.f64 x #s(literal 1/10 binary64))) (patch #s(approx (/ (+ x y) 10) (*.f64 x #s(literal 1/10 binary64))) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/10 (* 1/10 (/ y x)))) (taylor inf x) (#s(alt #s(approx (/ (+ x y) 10) (*.f64 x #s(literal 1/10 binary64))) (patch #s(approx (/ (+ x y) 10) (*.f64 x #s(literal 1/10 binary64))) #<representation binary64>) () ())) ())
#s(alt (* 1/10 x) (taylor inf x) (#s(alt (*.f64 x #s(literal 1/10 binary64)) (patch (*.f64 x #s(literal 1/10 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/10 x) (taylor inf x) (#s(alt (*.f64 x #s(literal 1/10 binary64)) (patch (*.f64 x #s(literal 1/10 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/10 x) (taylor inf x) (#s(alt (*.f64 x #s(literal 1/10 binary64)) (patch (*.f64 x #s(literal 1/10 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/10 x) (taylor inf x) (#s(alt (*.f64 x #s(literal 1/10 binary64)) (patch (*.f64 x #s(literal 1/10 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/10 x) (taylor inf x) (#s(alt #s(approx (/ (+ x y) 10) (*.f64 y #s(literal 1/10 binary64))) (patch #s(approx (/ (+ x y) 10) (*.f64 y #s(literal 1/10 binary64))) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/10 (* 1/10 (/ y x)))) (taylor inf x) (#s(alt #s(approx (/ (+ x y) 10) (*.f64 y #s(literal 1/10 binary64))) (patch #s(approx (/ (+ x y) 10) (*.f64 y #s(literal 1/10 binary64))) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/10 (* 1/10 (/ y x)))) (taylor inf x) (#s(alt #s(approx (/ (+ x y) 10) (*.f64 y #s(literal 1/10 binary64))) (patch #s(approx (/ (+ x y) 10) (*.f64 y #s(literal 1/10 binary64))) #<representation binary64>) () ())) ())
#s(alt (* x (+ 1/10 (* 1/10 (/ y x)))) (taylor inf x) (#s(alt #s(approx (/ (+ x y) 10) (*.f64 y #s(literal 1/10 binary64))) (patch #s(approx (/ (+ x y) 10) (*.f64 y #s(literal 1/10 binary64))) #<representation binary64>) () ())) ())
#s(alt (* 1/10 x) (taylor -inf x) (#s(alt #s(approx (/ (+ x y) 10) (*.f64 x #s(literal 1/10 binary64))) (patch #s(approx (/ (+ x y) 10) (*.f64 x #s(literal 1/10 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (- (* -1/10 (/ y x)) 1/10))) (taylor -inf x) (#s(alt #s(approx (/ (+ x y) 10) (*.f64 x #s(literal 1/10 binary64))) (patch #s(approx (/ (+ x y) 10) (*.f64 x #s(literal 1/10 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (- (* -1/10 (/ y x)) 1/10))) (taylor -inf x) (#s(alt #s(approx (/ (+ x y) 10) (*.f64 x #s(literal 1/10 binary64))) (patch #s(approx (/ (+ x y) 10) (*.f64 x #s(literal 1/10 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (- (* -1/10 (/ y x)) 1/10))) (taylor -inf x) (#s(alt #s(approx (/ (+ x y) 10) (*.f64 x #s(literal 1/10 binary64))) (patch #s(approx (/ (+ x y) 10) (*.f64 x #s(literal 1/10 binary64))) #<representation binary64>) () ())) ())
#s(alt (* 1/10 x) (taylor -inf x) (#s(alt (*.f64 x #s(literal 1/10 binary64)) (patch (*.f64 x #s(literal 1/10 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/10 x) (taylor -inf x) (#s(alt (*.f64 x #s(literal 1/10 binary64)) (patch (*.f64 x #s(literal 1/10 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/10 x) (taylor -inf x) (#s(alt (*.f64 x #s(literal 1/10 binary64)) (patch (*.f64 x #s(literal 1/10 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/10 x) (taylor -inf x) (#s(alt (*.f64 x #s(literal 1/10 binary64)) (patch (*.f64 x #s(literal 1/10 binary64)) #<representation binary64>) () ())) ())
#s(alt (* 1/10 x) (taylor -inf x) (#s(alt #s(approx (/ (+ x y) 10) (*.f64 y #s(literal 1/10 binary64))) (patch #s(approx (/ (+ x y) 10) (*.f64 y #s(literal 1/10 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (- (* -1/10 (/ y x)) 1/10))) (taylor -inf x) (#s(alt #s(approx (/ (+ x y) 10) (*.f64 y #s(literal 1/10 binary64))) (patch #s(approx (/ (+ x y) 10) (*.f64 y #s(literal 1/10 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (- (* -1/10 (/ y x)) 1/10))) (taylor -inf x) (#s(alt #s(approx (/ (+ x y) 10) (*.f64 y #s(literal 1/10 binary64))) (patch #s(approx (/ (+ x y) 10) (*.f64 y #s(literal 1/10 binary64))) #<representation binary64>) () ())) ())
#s(alt (* -1 (* x (- (* -1/10 (/ y x)) 1/10))) (taylor -inf x) (#s(alt #s(approx (/ (+ x y) 10) (*.f64 y #s(literal 1/10 binary64))) (patch #s(approx (/ (+ x y) 10) (*.f64 y #s(literal 1/10 binary64))) #<representation binary64>) () ())) ())
Calls

6 calls:

TimeVariablePointExpression
0.0ms
y
@-inf
((/ (+ x y) 10) (* x 1/10) (/ (+ x y) 10) (* y 1/10))
0.0ms
y
@inf
((/ (+ x y) 10) (* x 1/10) (/ (+ x y) 10) (* y 1/10))
0.0ms
y
@0
((/ (+ x y) 10) (* x 1/10) (/ (+ x y) 10) (* y 1/10))
0.0ms
x
@-inf
((/ (+ x y) 10) (* x 1/10) (/ (+ x y) 10) (* y 1/10))
0.0ms
x
@inf
((/ (+ x y) 10) (* x 1/10) (/ (+ x y) 10) (* y 1/10))

simplify202.0ms (13.9%)

Memory
1.6MiB live, 74.7MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
024288
166288
2157288
3345288
4654288
51570288
65377288
08106288
Stop Event
iter limit
node limit
Counts
72 → 72
Calls
Call 1
Inputs
(* 1/10 x)
(+ (* 1/10 x) (* 1/10 y))
(+ (* 1/10 x) (* 1/10 y))
(+ (* 1/10 x) (* 1/10 y))
(* 1/10 x)
(+ (* 1/10 x) (* 1/10 y))
(+ (* 1/10 x) (* 1/10 y))
(+ (* 1/10 x) (* 1/10 y))
(* 1/10 y)
(* 1/10 y)
(* 1/10 y)
(* 1/10 y)
(* 1/10 y)
(* y (+ 1/10 (* 1/10 (/ x y))))
(* y (+ 1/10 (* 1/10 (/ x y))))
(* y (+ 1/10 (* 1/10 (/ x y))))
(* 1/10 y)
(* y (+ 1/10 (* 1/10 (/ x y))))
(* y (+ 1/10 (* 1/10 (/ x y))))
(* y (+ 1/10 (* 1/10 (/ x y))))
(* 1/10 y)
(* 1/10 y)
(* 1/10 y)
(* 1/10 y)
(* 1/10 y)
(* -1 (* y (- (* -1/10 (/ x y)) 1/10)))
(* -1 (* y (- (* -1/10 (/ x y)) 1/10)))
(* -1 (* y (- (* -1/10 (/ x y)) 1/10)))
(* 1/10 y)
(* -1 (* y (- (* -1/10 (/ x y)) 1/10)))
(* -1 (* y (- (* -1/10 (/ x y)) 1/10)))
(* -1 (* y (- (* -1/10 (/ x y)) 1/10)))
(* 1/10 y)
(* 1/10 y)
(* 1/10 y)
(* 1/10 y)
(* 1/10 y)
(+ (* 1/10 x) (* 1/10 y))
(+ (* 1/10 x) (* 1/10 y))
(+ (* 1/10 x) (* 1/10 y))
(* 1/10 x)
(* 1/10 x)
(* 1/10 x)
(* 1/10 x)
(* 1/10 y)
(+ (* 1/10 x) (* 1/10 y))
(+ (* 1/10 x) (* 1/10 y))
(+ (* 1/10 x) (* 1/10 y))
(* 1/10 x)
(* x (+ 1/10 (* 1/10 (/ y x))))
(* x (+ 1/10 (* 1/10 (/ y x))))
(* x (+ 1/10 (* 1/10 (/ y x))))
(* 1/10 x)
(* 1/10 x)
(* 1/10 x)
(* 1/10 x)
(* 1/10 x)
(* x (+ 1/10 (* 1/10 (/ y x))))
(* x (+ 1/10 (* 1/10 (/ y x))))
(* x (+ 1/10 (* 1/10 (/ y x))))
(* 1/10 x)
(* -1 (* x (- (* -1/10 (/ y x)) 1/10)))
(* -1 (* x (- (* -1/10 (/ y x)) 1/10)))
(* -1 (* x (- (* -1/10 (/ y x)) 1/10)))
(* 1/10 x)
(* 1/10 x)
(* 1/10 x)
(* 1/10 x)
(* 1/10 x)
(* -1 (* x (- (* -1/10 (/ y x)) 1/10)))
(* -1 (* x (- (* -1/10 (/ y x)) 1/10)))
(* -1 (* x (- (* -1/10 (/ y x)) 1/10)))
Outputs
(* 1/10 x)
(*.f64 x #s(literal 1/10 binary64))
(+ (* 1/10 x) (* 1/10 y))
(*.f64 (+.f64 y x) #s(literal 1/10 binary64))
(+ (* 1/10 x) (* 1/10 y))
(*.f64 (+.f64 y x) #s(literal 1/10 binary64))
(+ (* 1/10 x) (* 1/10 y))
(*.f64 (+.f64 y x) #s(literal 1/10 binary64))
(* 1/10 x)
(*.f64 x #s(literal 1/10 binary64))
(+ (* 1/10 x) (* 1/10 y))
(*.f64 (+.f64 y x) #s(literal 1/10 binary64))
(+ (* 1/10 x) (* 1/10 y))
(*.f64 (+.f64 y x) #s(literal 1/10 binary64))
(+ (* 1/10 x) (* 1/10 y))
(*.f64 (+.f64 y x) #s(literal 1/10 binary64))
(* 1/10 y)
(*.f64 y #s(literal 1/10 binary64))
(* 1/10 y)
(*.f64 y #s(literal 1/10 binary64))
(* 1/10 y)
(*.f64 y #s(literal 1/10 binary64))
(* 1/10 y)
(*.f64 y #s(literal 1/10 binary64))
(* 1/10 y)
(*.f64 y #s(literal 1/10 binary64))
(* y (+ 1/10 (* 1/10 (/ x y))))
(*.f64 (+.f64 y x) #s(literal 1/10 binary64))
(* y (+ 1/10 (* 1/10 (/ x y))))
(*.f64 (+.f64 y x) #s(literal 1/10 binary64))
(* y (+ 1/10 (* 1/10 (/ x y))))
(*.f64 (+.f64 y x) #s(literal 1/10 binary64))
(* 1/10 y)
(*.f64 y #s(literal 1/10 binary64))
(* y (+ 1/10 (* 1/10 (/ x y))))
(*.f64 (+.f64 y x) #s(literal 1/10 binary64))
(* y (+ 1/10 (* 1/10 (/ x y))))
(*.f64 (+.f64 y x) #s(literal 1/10 binary64))
(* y (+ 1/10 (* 1/10 (/ x y))))
(*.f64 (+.f64 y x) #s(literal 1/10 binary64))
(* 1/10 y)
(*.f64 y #s(literal 1/10 binary64))
(* 1/10 y)
(*.f64 y #s(literal 1/10 binary64))
(* 1/10 y)
(*.f64 y #s(literal 1/10 binary64))
(* 1/10 y)
(*.f64 y #s(literal 1/10 binary64))
(* 1/10 y)
(*.f64 y #s(literal 1/10 binary64))
(* -1 (* y (- (* -1/10 (/ x y)) 1/10)))
(*.f64 (+.f64 y x) #s(literal 1/10 binary64))
(* -1 (* y (- (* -1/10 (/ x y)) 1/10)))
(*.f64 (+.f64 y x) #s(literal 1/10 binary64))
(* -1 (* y (- (* -1/10 (/ x y)) 1/10)))
(*.f64 (+.f64 y x) #s(literal 1/10 binary64))
(* 1/10 y)
(*.f64 y #s(literal 1/10 binary64))
(* -1 (* y (- (* -1/10 (/ x y)) 1/10)))
(*.f64 (+.f64 y x) #s(literal 1/10 binary64))
(* -1 (* y (- (* -1/10 (/ x y)) 1/10)))
(*.f64 (+.f64 y x) #s(literal 1/10 binary64))
(* -1 (* y (- (* -1/10 (/ x y)) 1/10)))
(*.f64 (+.f64 y x) #s(literal 1/10 binary64))
(* 1/10 y)
(*.f64 y #s(literal 1/10 binary64))
(* 1/10 y)
(*.f64 y #s(literal 1/10 binary64))
(* 1/10 y)
(*.f64 y #s(literal 1/10 binary64))
(* 1/10 y)
(*.f64 y #s(literal 1/10 binary64))
(* 1/10 y)
(*.f64 y #s(literal 1/10 binary64))
(+ (* 1/10 x) (* 1/10 y))
(*.f64 (+.f64 y x) #s(literal 1/10 binary64))
(+ (* 1/10 x) (* 1/10 y))
(*.f64 (+.f64 y x) #s(literal 1/10 binary64))
(+ (* 1/10 x) (* 1/10 y))
(*.f64 (+.f64 y x) #s(literal 1/10 binary64))
(* 1/10 x)
(*.f64 x #s(literal 1/10 binary64))
(* 1/10 x)
(*.f64 x #s(literal 1/10 binary64))
(* 1/10 x)
(*.f64 x #s(literal 1/10 binary64))
(* 1/10 x)
(*.f64 x #s(literal 1/10 binary64))
(* 1/10 y)
(*.f64 y #s(literal 1/10 binary64))
(+ (* 1/10 x) (* 1/10 y))
(*.f64 (+.f64 y x) #s(literal 1/10 binary64))
(+ (* 1/10 x) (* 1/10 y))
(*.f64 (+.f64 y x) #s(literal 1/10 binary64))
(+ (* 1/10 x) (* 1/10 y))
(*.f64 (+.f64 y x) #s(literal 1/10 binary64))
(* 1/10 x)
(*.f64 x #s(literal 1/10 binary64))
(* x (+ 1/10 (* 1/10 (/ y x))))
(*.f64 (+.f64 y x) #s(literal 1/10 binary64))
(* x (+ 1/10 (* 1/10 (/ y x))))
(*.f64 (+.f64 y x) #s(literal 1/10 binary64))
(* x (+ 1/10 (* 1/10 (/ y x))))
(*.f64 (+.f64 y x) #s(literal 1/10 binary64))
(* 1/10 x)
(*.f64 x #s(literal 1/10 binary64))
(* 1/10 x)
(*.f64 x #s(literal 1/10 binary64))
(* 1/10 x)
(*.f64 x #s(literal 1/10 binary64))
(* 1/10 x)
(*.f64 x #s(literal 1/10 binary64))
(* 1/10 x)
(*.f64 x #s(literal 1/10 binary64))
(* x (+ 1/10 (* 1/10 (/ y x))))
(*.f64 (+.f64 y x) #s(literal 1/10 binary64))
(* x (+ 1/10 (* 1/10 (/ y x))))
(*.f64 (+.f64 y x) #s(literal 1/10 binary64))
(* x (+ 1/10 (* 1/10 (/ y x))))
(*.f64 (+.f64 y x) #s(literal 1/10 binary64))
(* 1/10 x)
(*.f64 x #s(literal 1/10 binary64))
(* -1 (* x (- (* -1/10 (/ y x)) 1/10)))
(*.f64 (+.f64 y x) #s(literal 1/10 binary64))
(* -1 (* x (- (* -1/10 (/ y x)) 1/10)))
(*.f64 (+.f64 y x) #s(literal 1/10 binary64))
(* -1 (* x (- (* -1/10 (/ y x)) 1/10)))
(*.f64 (+.f64 y x) #s(literal 1/10 binary64))
(* 1/10 x)
(*.f64 x #s(literal 1/10 binary64))
(* 1/10 x)
(*.f64 x #s(literal 1/10 binary64))
(* 1/10 x)
(*.f64 x #s(literal 1/10 binary64))
(* 1/10 x)
(*.f64 x #s(literal 1/10 binary64))
(* 1/10 x)
(*.f64 x #s(literal 1/10 binary64))
(* -1 (* x (- (* -1/10 (/ y x)) 1/10)))
(*.f64 (+.f64 y x) #s(literal 1/10 binary64))
(* -1 (* x (- (* -1/10 (/ y x)) 1/10)))
(*.f64 (+.f64 y x) #s(literal 1/10 binary64))
(* -1 (* x (- (* -1/10 (/ y x)) 1/10)))
(*.f64 (+.f64 y x) #s(literal 1/10 binary64))

rewrite179.0ms (12.3%)

Memory
-3.5MiB live, 146.6MiB allocated
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01024
01224
13724
218924
3173124
0816624
Stop Event
iter limit
node limit
iter limit
Counts
4 → 6
Calls
Call 1
Inputs
#s(approx (/ (+ x y) 10) (*.f64 x #s(literal 1/10 binary64)))
(*.f64 x #s(literal 1/10 binary64))
#s(approx (/ (+ x y) 10) (*.f64 y #s(literal 1/10 binary64)))
(*.f64 y #s(literal 1/10 binary64))
Outputs
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>
#<batchref>

eval0.0ms (0%)

Memory
0.8MiB live, 0.8MiB allocated
Compiler

Compiled 408 to 18 computations (95.6% saved)

prune1.0ms (0%)

Memory
1.2MiB live, 1.2MiB allocated
Pruning

3 alts after pruning (0 fresh and 3 done)

PrunedKeptTotal
New78078
Fresh000
Picked022
Done011
Total78381
Accuracy
100.0%
Counts
81 → 3
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(/.f64 (+.f64 x y) #s(literal 10 binary64))
50.5%
#s(approx (/ (+ x y) 10) (*.f64 y #s(literal 1/10 binary64)))
50.9%
#s(approx (/ (+ x y) 10) (*.f64 x #s(literal 1/10 binary64)))
Compiler

Compiled 26 to 25 computations (3.8% saved)

regimes0.0ms (0%)

Memory
0.3MiB live, 0.3MiB allocated
Compiler

Compiled 3 to 3 computations (0% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated
Calls

1 calls:

0.0ms
(+.f64 x y)

Profiling

Loading profile data...