Data.Colour.RGBSpace.HSV:hsv from colour-2.3.3, J

Time bar (total: 1.1s)

start0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

analyze0.0ms (0%)

Memory
0.5MiB live, 0.5MiB 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 11 to 10 computations (9.1% saved)

sample664.0ms (61.7%)

Memory
-3.0MiB live, 1 091.2MiB allocated
Samples
411.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 218.0ms
ival-mult: 114.0ms (52.4% of total)
ival-sub: 90.0ms (41.3% of total)
ival-true: 6.0ms (2.8% of total)
exact: 4.0ms (1.8% of total)
ival-assert: 3.0ms (1.4% of total)
Bogosity

explain81.0ms (7.5%)

Memory
-7.0MiB live, 122.2MiB allocated
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
130-0-(*.f64 x (-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z)))
00-0-(-.f64 #s(literal 1 binary64) y)
00-0-(*.f64 (-.f64 #s(literal 1 binary64) y) z)
00-0-y
00-0-#s(literal 1 binary64)
00-0-z
00-0-(-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z))
00-0-x
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
*.f64(*.f64 x (-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z)))n*o130
Confusion
Predicted +Predicted -
+130
-0243
Precision
1.0
Recall
1.0
Confusion?
Predicted +Predicted MaybePredicted -
+1300
-00243
Precision?
1.0
Recall?
1.0
Freqs
test
numberfreq
0243
113
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Samples
33.0ms512×0valid
Compiler

Compiled 97 to 36 computations (62.9% saved)

Precisions
Click to see histograms. Total time spent on operations: 12.0ms
ival-mult: 6.0ms (50.1% of total)
ival-sub: 5.0ms (41.7% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

preprocess3.0ms (0.3%)

Memory
6.0MiB live, 6.0MiB allocated
Algorithm
egg-herbie
Calls
Call 1
Inputs
(*.f64 x (-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z)))
Outputs
(*.f64 x (-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z)))
Compiler

Compiled 9 to 8 computations (11.1% saved)

eval0.0ms (0%)

Memory
0.1MiB live, 0.1MiB allocated
Compiler

Compiled 0 to 3 computations (-∞% saved)

prune0.0ms (0%)

Memory
0.8MiB live, 0.8MiB allocated
Alt Table
Click to see full alt table
StatusAccuracyProgram
95.1%
(*.f64 x (-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z)))
Compiler

Compiled 9 to 8 computations (11.1% saved)

simplify0.0ms (0%)

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

Found 4 expressions of interest:

NewMetricScoreProgram
cost-diff0
(-.f64 #s(literal 1 binary64) y)
cost-diff0
(*.f64 (-.f64 #s(literal 1 binary64) y) z)
cost-diff0
(-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z))
cost-diff0
(*.f64 x (-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z)))
Calls
Call 1
Inputs
(*.f64 x (-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z)))
x
(-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z))
#s(literal 1 binary64)
(*.f64 (-.f64 #s(literal 1 binary64) y) z)
(-.f64 #s(literal 1 binary64) y)
y
z
Outputs
(*.f64 x (-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z)))
x
(-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z))
#s(literal 1 binary64)
(*.f64 (-.f64 #s(literal 1 binary64) y) z)
(-.f64 #s(literal 1 binary64) y)
y
z

localize20.0ms (1.9%)

Memory
-9.4MiB live, 28.2MiB allocated
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z))
accuracy0.0
(-.f64 #s(literal 1 binary64) y)
accuracy0.0
(*.f64 (-.f64 #s(literal 1 binary64) y) z)
accuracy3.1094775279938087
(*.f64 x (-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z)))
Samples
15.0ms256×0valid
Compiler

Compiled 58 to 18 computations (69% saved)

Precisions
Click to see histograms. Total time spent on operations: 6.0ms
ival-mult: 3.0ms (50.9% of total)
ival-sub: 2.0ms (34% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series7.0ms (0.7%)

Memory
10.9MiB live, 10.9MiB allocated
Counts
4 → 33
Calls
Call 1
Inputs
(*.f64 x (-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z)))
(-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z))
(*.f64 (-.f64 #s(literal 1 binary64) y) z)
(-.f64 #s(literal 1 binary64) y)
Outputs
(* x (- 1 (* z (- 1 y))))
(* x (- 1 z))
(+ (* x (* y z)) (* x (- 1 z)))
(- 1 z)
(- (+ 1 (* y z)) z)
z
(+ z (* -1 (* y z)))
1
(+ 1 (* -1 y))
(* x (* y z))
(* y (+ (* x z) (/ (* x (- 1 z)) y)))
(* y z)
(* y (- (/ 1 y) (+ (* -1 z) (/ z y))))
(* -1 (* y z))
(* y (+ (* -1 z) (/ z y)))
(* -1 y)
(* y (- (/ 1 y) 1))
(* -1 (* y (+ (* -1 (* x z)) (* -1 (/ (* x (- 1 z)) y)))))
(* -1 (* y (- (* -1 (/ (- 1 z) y)) z)))
(* -1 (* y (+ z (* -1 (/ z y)))))
(* -1 (* y (- 1 (/ 1 y))))
x
(+ x (* x (* z (- y 1))))
(+ 1 (* z (- y 1)))
(* z (- 1 y))
(* x (* z (- y 1)))
(* z (+ (* x (- y 1)) (/ x z)))
(* z (- y 1))
(* z (- (+ y (/ 1 z)) 1))
(* -1 (* x (* z (- 1 y))))
(* -1 (* z (+ (* -1 (/ x z)) (* x (- 1 y)))))
(* -1 (* z (- 1 y)))
(* z (+ (* -1 (- 1 y)) (/ 1 z)))
Calls

9 calls:

TimeVariablePointExpression
1.0ms
z
@0
((* x (- 1 (* (- 1 y) z))) (- 1 (* (- 1 y) z)) (* (- 1 y) z) (- 1 y))
1.0ms
z
@inf
((* x (- 1 (* (- 1 y) z))) (- 1 (* (- 1 y) z)) (* (- 1 y) z) (- 1 y))
1.0ms
y
@0
((* x (- 1 (* (- 1 y) z))) (- 1 (* (- 1 y) z)) (* (- 1 y) z) (- 1 y))
1.0ms
x
@0
((* x (- 1 (* (- 1 y) z))) (- 1 (* (- 1 y) z)) (* (- 1 y) z) (- 1 y))
1.0ms
z
@-inf
((* x (- 1 (* (- 1 y) z))) (- 1 (* (- 1 y) z)) (* (- 1 y) z) (- 1 y))

simplify0.0ms (0%)

Memory
0.8MiB live, 0.8MiB allocated
Algorithm
egg-herbie
Counts
33 → 4
Calls
Call 1
Inputs
(* x (- 1 (* z (- 1 y))))
(* x (- 1 z))
(+ (* x (* y z)) (* x (- 1 z)))
(- 1 z)
(- (+ 1 (* y z)) z)
z
(+ z (* -1 (* y z)))
1
(+ 1 (* -1 y))
(* x (* y z))
(* y (+ (* x z) (/ (* x (- 1 z)) y)))
(* y z)
(* y (- (/ 1 y) (+ (* -1 z) (/ z y))))
(* -1 (* y z))
(* y (+ (* -1 z) (/ z y)))
(* -1 y)
(* y (- (/ 1 y) 1))
(* -1 (* y (+ (* -1 (* x z)) (* -1 (/ (* x (- 1 z)) y)))))
(* -1 (* y (- (* -1 (/ (- 1 z) y)) z)))
(* -1 (* y (+ z (* -1 (/ z y)))))
(* -1 (* y (- 1 (/ 1 y))))
x
(+ x (* x (* z (- y 1))))
(+ 1 (* z (- y 1)))
(* z (- 1 y))
(* x (* z (- y 1)))
(* z (+ (* x (- y 1)) (/ x z)))
(* z (- y 1))
(* z (- (+ y (/ 1 z)) 1))
(* -1 (* x (* z (- 1 y))))
(* -1 (* z (+ (* -1 (/ x z)) (* x (- 1 y)))))
(* -1 (* z (- 1 y)))
(* z (+ (* -1 (- 1 y)) (/ 1 z)))
Outputs
(* x (- 1 (* z (- 1 y))))
(*.f64 x (-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z)))
(* x (- 1 z))
(-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z))
(+ (* x (* y z)) (* x (- 1 z)))
(*.f64 (-.f64 #s(literal 1 binary64) y) z)
(- 1 z)
(-.f64 #s(literal 1 binary64) y)

rewrite0.0ms (0%)

Memory
0.6MiB live, 0.6MiB allocated
Counts
4 → 4
Calls
Call 1
Inputs
(*.f64 x (-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z)))
(-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z))
(*.f64 (-.f64 #s(literal 1 binary64) y) z)
(-.f64 #s(literal 1 binary64) y)
Outputs
(*.f64 x (-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z)))
(-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z))
(*.f64 (-.f64 #s(literal 1 binary64) y) z)
(-.f64 #s(literal 1 binary64) y)

eval1.0ms (0.1%)

Memory
1.8MiB live, 1.8MiB allocated
Compiler

Compiled 100 to 18 computations (82% saved)

prune2.0ms (0.2%)

Memory
3.1MiB live, 3.1MiB allocated
Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New538
Fresh000
Picked011
Done000
Total549
Accuracy
95.1%
Counts
9 → 4
Alt Table
Click to see full alt table
StatusAccuracyProgram
95.1%
(*.f64 x (-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z)))
34.4%
(*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))
8.0%
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z)))
6.7%
#s(approx (* x (- 1 (* (- 1 y) z))) (*.f64 (-.f64 #s(literal 1 binary64) y) z))
Compiler

Compiled 54 to 44 computations (18.5% saved)

simplify1.0ms (0.1%)

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

Found 10 expressions of interest:

NewMetricScoreProgram
cost-diff0
(-.f64 #s(literal 1 binary64) y)
cost-diff0
#s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))
cost-diff0
(*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))
cost-diff0
(-.f64 #s(literal 1 binary64) y)
cost-diff0
(*.f64 (-.f64 #s(literal 1 binary64) y) z)
cost-diff0
(-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z))
cost-diff0
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z)))
cost-diff0
(-.f64 #s(literal 1 binary64) y)
cost-diff0
(*.f64 (-.f64 #s(literal 1 binary64) y) z)
cost-diff0
#s(approx (* x (- 1 (* (- 1 y) z))) (*.f64 (-.f64 #s(literal 1 binary64) y) z))
Calls
Call 1
Inputs
#s(approx (* x (- 1 (* (- 1 y) z))) (*.f64 (-.f64 #s(literal 1 binary64) y) z))
(*.f64 (-.f64 #s(literal 1 binary64) y) z)
(-.f64 #s(literal 1 binary64) y)
#s(literal 1 binary64)
y
z
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z)))
(-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z))
#s(literal 1 binary64)
(*.f64 (-.f64 #s(literal 1 binary64) y) z)
(-.f64 #s(literal 1 binary64) y)
y
z
(*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))
x
#s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))
(-.f64 #s(literal 1 binary64) y)
#s(literal 1 binary64)
y
Outputs
#s(approx (* x (- 1 (* (- 1 y) z))) (*.f64 (-.f64 #s(literal 1 binary64) y) z))
(*.f64 (-.f64 #s(literal 1 binary64) y) z)
(-.f64 #s(literal 1 binary64) y)
#s(literal 1 binary64)
y
z
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z)))
(-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z))
#s(literal 1 binary64)
(*.f64 (-.f64 #s(literal 1 binary64) y) z)
(-.f64 #s(literal 1 binary64) y)
y
z
(*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))
x
#s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))
(-.f64 #s(literal 1 binary64) y)
#s(literal 1 binary64)
y

localize26.0ms (2.4%)

Memory
-0.3MiB live, 37.3MiB allocated
Localize:

Found 10 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(-.f64 #s(literal 1 binary64) y)
accuracy3.1094775279938087
(*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))
accuracy45.785354460023655
#s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))
accuracy0.0
(-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z))
accuracy0.0
(-.f64 #s(literal 1 binary64) y)
accuracy0.0
(*.f64 (-.f64 #s(literal 1 binary64) y) z)
accuracy58.867780718373474
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z)))
accuracy0.0
(-.f64 #s(literal 1 binary64) y)
accuracy0.0
(*.f64 (-.f64 #s(literal 1 binary64) y) z)
accuracy59.70834718645517
#s(approx (* x (- 1 (* (- 1 y) z))) (*.f64 (-.f64 #s(literal 1 binary64) y) z))
Samples
19.0ms256×0valid
Compiler

Compiled 162 to 26 computations (84% saved)

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

series4.0ms (0.4%)

Memory
7.2MiB live, 7.2MiB allocated
Counts
7 → 33
Calls
Call 1
Inputs
#s(approx (* x (- 1 (* (- 1 y) z))) (*.f64 (-.f64 #s(literal 1 binary64) y) z))
(*.f64 (-.f64 #s(literal 1 binary64) y) z)
(-.f64 #s(literal 1 binary64) y)
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z)))
(-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z))
(*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))
#s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))
Outputs
(* x (- 1 (* z (- 1 y))))
(* x (- 1 z))
(+ (* x (* y z)) (* x (- 1 z)))
z
(+ z (* -1 (* y z)))
1
(+ 1 (* -1 y))
(- 1 z)
(- (+ 1 (* y z)) z)
(* x (* y z))
(* y (+ (* x z) (/ (* x (- 1 z)) y)))
(* -1 (* y z))
(* y (+ (* -1 z) (/ z y)))
(* -1 y)
(* y (- (/ 1 y) 1))
(* y z)
(* y (- (/ 1 y) (+ (* -1 z) (/ z y))))
(* -1 (* y (+ (* -1 (* x z)) (* -1 (/ (* x (- 1 z)) y)))))
(* -1 (* y (+ z (* -1 (/ z y)))))
(* -1 (* y (- 1 (/ 1 y))))
(* -1 (* y (- (* -1 (/ (- 1 z) y)) z)))
x
(+ x (* x (* z (- y 1))))
(* z (- 1 y))
(+ 1 (* z (- y 1)))
(* x (* z (- y 1)))
(* z (+ (* x (- y 1)) (/ x z)))
(* z (- y 1))
(* z (- (+ y (/ 1 z)) 1))
(* -1 (* x (* z (- 1 y))))
(* -1 (* z (+ (* -1 (/ x z)) (* x (- 1 y)))))
(* -1 (* z (- 1 y)))
(* z (+ (* -1 (- 1 y)) (/ 1 z)))
Calls

9 calls:

TimeVariablePointExpression
0.0ms
z
@inf
((* x (- 1 (* (- 1 y) z))) (* (- 1 y) z) (- 1 y) (* x (- 1 (* (- 1 y) z))) (- 1 (* (- 1 y) z)) (* x (- 1 (* (- 1 y) z))) (- 1 (* (- 1 y) z)))
0.0ms
z
@-inf
((* x (- 1 (* (- 1 y) z))) (* (- 1 y) z) (- 1 y) (* x (- 1 (* (- 1 y) z))) (- 1 (* (- 1 y) z)) (* x (- 1 (* (- 1 y) z))) (- 1 (* (- 1 y) z)))
0.0ms
x
@-inf
((* x (- 1 (* (- 1 y) z))) (* (- 1 y) z) (- 1 y) (* x (- 1 (* (- 1 y) z))) (- 1 (* (- 1 y) z)) (* x (- 1 (* (- 1 y) z))) (- 1 (* (- 1 y) z)))
0.0ms
y
@inf
((* x (- 1 (* (- 1 y) z))) (* (- 1 y) z) (- 1 y) (* x (- 1 (* (- 1 y) z))) (- 1 (* (- 1 y) z)) (* x (- 1 (* (- 1 y) z))) (- 1 (* (- 1 y) z)))
0.0ms
x
@0
((* x (- 1 (* (- 1 y) z))) (* (- 1 y) z) (- 1 y) (* x (- 1 (* (- 1 y) z))) (- 1 (* (- 1 y) z)) (* x (- 1 (* (- 1 y) z))) (- 1 (* (- 1 y) z)))

simplify0.0ms (0%)

Memory
0.8MiB live, 0.8MiB allocated
Algorithm
egg-herbie
Counts
33 → 7
Calls
Call 1
Inputs
(* x (- 1 (* z (- 1 y))))
(* x (- 1 z))
(+ (* x (* y z)) (* x (- 1 z)))
z
(+ z (* -1 (* y z)))
1
(+ 1 (* -1 y))
(- 1 z)
(- (+ 1 (* y z)) z)
(* x (* y z))
(* y (+ (* x z) (/ (* x (- 1 z)) y)))
(* -1 (* y z))
(* y (+ (* -1 z) (/ z y)))
(* -1 y)
(* y (- (/ 1 y) 1))
(* y z)
(* y (- (/ 1 y) (+ (* -1 z) (/ z y))))
(* -1 (* y (+ (* -1 (* x z)) (* -1 (/ (* x (- 1 z)) y)))))
(* -1 (* y (+ z (* -1 (/ z y)))))
(* -1 (* y (- 1 (/ 1 y))))
(* -1 (* y (- (* -1 (/ (- 1 z) y)) z)))
x
(+ x (* x (* z (- y 1))))
(* z (- 1 y))
(+ 1 (* z (- y 1)))
(* x (* z (- y 1)))
(* z (+ (* x (- y 1)) (/ x z)))
(* z (- y 1))
(* z (- (+ y (/ 1 z)) 1))
(* -1 (* x (* z (- 1 y))))
(* -1 (* z (+ (* -1 (/ x z)) (* x (- 1 y)))))
(* -1 (* z (- 1 y)))
(* z (+ (* -1 (- 1 y)) (/ 1 z)))
Outputs
(* x (- 1 (* z (- 1 y))))
#s(approx (* x (- 1 (* (- 1 y) z))) (*.f64 (-.f64 #s(literal 1 binary64) y) z))
(* x (- 1 z))
(*.f64 (-.f64 #s(literal 1 binary64) y) z)
(+ (* x (* y z)) (* x (- 1 z)))
(-.f64 #s(literal 1 binary64) y)
z
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z)))
(+ z (* -1 (* y z)))
(-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z))
1
(*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))
(+ 1 (* -1 y))
#s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))

rewrite1.0ms (0%)

Memory
1.0MiB live, 1.0MiB allocated
Counts
7 → 7
Calls
Call 1
Inputs
#s(approx (* x (- 1 (* (- 1 y) z))) (*.f64 (-.f64 #s(literal 1 binary64) y) z))
(*.f64 (-.f64 #s(literal 1 binary64) y) z)
(-.f64 #s(literal 1 binary64) y)
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z)))
(-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z))
(*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))
#s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))
Outputs
#s(approx (* x (- 1 (* (- 1 y) z))) (*.f64 (-.f64 #s(literal 1 binary64) y) z))
(*.f64 (-.f64 #s(literal 1 binary64) y) z)
(-.f64 #s(literal 1 binary64) y)
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z)))
(-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z))
(*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))
#s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))

eval3.0ms (0.2%)

Memory
6.0MiB live, 6.0MiB allocated
Compiler

Compiled 474 to 40 computations (91.6% saved)

prune8.0ms (0.7%)

Memory
-30.3MiB live, 10.3MiB allocated
Pruning

8 alts after pruning (4 fresh and 4 done)

PrunedKeptTotal
New18422
Fresh000
Picked033
Done011
Total18826
Accuracy
99.9%
Counts
26 → 8
Alt Table
Click to see full alt table
StatusAccuracyProgram
95.1%
(*.f64 x (-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z)))
34.4%
(*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))
10.7%
(*.f64 x #s(approx (- 1 (* (- 1 y) z)) #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))))))
8.0%
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z)))
50.7%
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) (*.f64 #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))) z)))
3.2%
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) y))
6.7%
#s(approx (* x (- 1 (* (- 1 y) z))) (*.f64 (-.f64 #s(literal 1 binary64) y) z))
2.2%
#s(approx (* x (- 1 (* (- 1 y) z))) (*.f64 #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))) z))
Compiler

Compiled 154 to 100 computations (35.1% saved)

simplify1.0ms (0.1%)

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

Found 14 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))
cost-diff0
#s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))))
cost-diff0
#s(approx (- 1 (* (- 1 y) z)) #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))))
cost-diff0
(*.f64 x #s(approx (- 1 (* (- 1 y) z)) #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))))))
cost-diff0
#s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))))
cost-diff0
(*.f64 #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))) z)
cost-diff0
(-.f64 #s(literal 1 binary64) (*.f64 #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))) z))
cost-diff0
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) (*.f64 #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))) z)))
cost-diff0
(-.f64 #s(literal 1 binary64) y)
cost-diff0
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) y))
cost-diff0
(*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))
cost-diff0
#s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))))
cost-diff0
(*.f64 #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))) z)
cost-diff0
#s(approx (* x (- 1 (* (- 1 y) z))) (*.f64 #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))) z))
Calls
Call 1
Inputs
#s(approx (* x (- 1 (* (- 1 y) z))) (*.f64 #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))) z))
(*.f64 #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))) z)
#s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))))
(*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))
x
#s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))
(-.f64 #s(literal 1 binary64) y)
#s(literal 1 binary64)
y
z
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) y))
(-.f64 #s(literal 1 binary64) y)
#s(literal 1 binary64)
y
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) (*.f64 #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))) z)))
(-.f64 #s(literal 1 binary64) (*.f64 #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))) z))
#s(literal 1 binary64)
(*.f64 #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))) z)
#s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))))
(*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))
x
#s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))
(-.f64 #s(literal 1 binary64) y)
y
z
(*.f64 x #s(approx (- 1 (* (- 1 y) z)) #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))))))
x
#s(approx (- 1 (* (- 1 y) z)) #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))))
#s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))))
(*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))
#s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))
(-.f64 #s(literal 1 binary64) y)
#s(literal 1 binary64)
y
Outputs
#s(approx (* x (- 1 (* (- 1 y) z))) (*.f64 #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))) z))
(*.f64 #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))) z)
#s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))))
(*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))
x
#s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))
(-.f64 #s(literal 1 binary64) y)
#s(literal 1 binary64)
y
z
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) y))
(-.f64 #s(literal 1 binary64) y)
#s(literal 1 binary64)
y
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) (*.f64 #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))) z)))
(-.f64 #s(literal 1 binary64) (*.f64 #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))) z))
#s(literal 1 binary64)
(*.f64 #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))) z)
#s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))))
(*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))
x
#s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))
(-.f64 #s(literal 1 binary64) y)
y
z
(*.f64 x #s(approx (- 1 (* (- 1 y) z)) #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))))))
x
#s(approx (- 1 (* (- 1 y) z)) #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))))
#s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))))
(*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))
#s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))
(-.f64 #s(literal 1 binary64) y)
#s(literal 1 binary64)
y

localize34.0ms (3.2%)

Memory
21.3MiB live, 58.3MiB allocated
Localize:

Found 14 expressions of interest:

NewMetricScoreProgram
accuracy3.1094775279938087
(*.f64 x #s(approx (- 1 (* (- 1 y) z)) #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))))))
accuracy45.785354460023655
#s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))
accuracy45.785354460023655
#s(approx (- 1 (* (- 1 y) z)) #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))))
accuracy61.97934375138911
#s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))))
accuracy3.1094775279938087
(*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))
accuracy45.785354460023655
#s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))
accuracy58.867780718373474
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) (*.f64 #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))) z)))
accuracy61.97934375138911
#s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))))
accuracy0.0
(-.f64 #s(literal 1 binary64) y)
accuracy61.97934375138911
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) y))
accuracy3.1094775279938087
(*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))
accuracy45.785354460023655
#s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))
accuracy59.70834718645517
#s(approx (* x (- 1 (* (- 1 y) z))) (*.f64 #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))) z))
accuracy61.97934375138911
#s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))))
Samples
23.0ms256×0valid
Compiler

Compiled 476 to 30 computations (93.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 9.0ms
ival-mult: 6.0ms (66% of total)
ival-sub: 3.0ms (33% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series5.0ms (0.5%)

Memory
12.4MiB live, 12.4MiB allocated
Counts
11 → 33
Calls
Call 1
Inputs
#s(approx (* x (- 1 (* (- 1 y) z))) (*.f64 #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))) z))
(*.f64 #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))) z)
#s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))))
(*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) y))
(-.f64 #s(literal 1 binary64) y)
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) (*.f64 #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))) z)))
(-.f64 #s(literal 1 binary64) (*.f64 #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))) z))
(*.f64 x #s(approx (- 1 (* (- 1 y) z)) #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))))))
#s(approx (- 1 (* (- 1 y) z)) #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))))
#s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))
Outputs
(* x (- 1 (* z (- 1 y))))
(* x (- 1 z))
(+ (* x (* y z)) (* x (- 1 z)))
z
(+ z (* -1 (* y z)))
1
(+ 1 (* -1 y))
(- 1 z)
(- (+ 1 (* y z)) z)
(* x (* y z))
(* y (+ (* x z) (/ (* x (- 1 z)) y)))
(* -1 (* y z))
(* y (+ (* -1 z) (/ z y)))
(* -1 y)
(* y (- (/ 1 y) 1))
(* y z)
(* y (- (/ 1 y) (+ (* -1 z) (/ z y))))
(* -1 (* y (+ (* -1 (* x z)) (* -1 (/ (* x (- 1 z)) y)))))
(* -1 (* y (+ z (* -1 (/ z y)))))
(* -1 (* y (- 1 (/ 1 y))))
(* -1 (* y (- (* -1 (/ (- 1 z) y)) z)))
x
(+ x (* x (* z (- y 1))))
(* z (- 1 y))
(+ 1 (* z (- y 1)))
(* x (* z (- y 1)))
(* z (+ (* x (- y 1)) (/ x z)))
(* z (- y 1))
(* z (- (+ y (/ 1 z)) 1))
(* -1 (* x (* z (- 1 y))))
(* -1 (* z (+ (* -1 (/ x z)) (* x (- 1 y)))))
(* -1 (* z (- 1 y)))
(* z (+ (* -1 (- 1 y)) (/ 1 z)))
Calls

9 calls:

TimeVariablePointExpression
1.0ms
z
@inf
((* x (- 1 (* (- 1 y) z))) (* (- 1 y) z) (- 1 y) (* x (- 1 (* (- 1 y) z))) (* x (- 1 (* (- 1 y) z))) (- 1 y) (* x (- 1 (* (- 1 y) z))) (- 1 (* (- 1 y) z)) (* x (- 1 (* (- 1 y) z))) (- 1 (* (- 1 y) z)) (- 1 (* (- 1 y) z)))
1.0ms
x
@0
((* x (- 1 (* (- 1 y) z))) (* (- 1 y) z) (- 1 y) (* x (- 1 (* (- 1 y) z))) (* x (- 1 (* (- 1 y) z))) (- 1 y) (* x (- 1 (* (- 1 y) z))) (- 1 (* (- 1 y) z)) (* x (- 1 (* (- 1 y) z))) (- 1 (* (- 1 y) z)) (- 1 (* (- 1 y) z)))
1.0ms
x
@-inf
((* x (- 1 (* (- 1 y) z))) (* (- 1 y) z) (- 1 y) (* x (- 1 (* (- 1 y) z))) (* x (- 1 (* (- 1 y) z))) (- 1 y) (* x (- 1 (* (- 1 y) z))) (- 1 (* (- 1 y) z)) (* x (- 1 (* (- 1 y) z))) (- 1 (* (- 1 y) z)) (- 1 (* (- 1 y) z)))
1.0ms
z
@-inf
((* x (- 1 (* (- 1 y) z))) (* (- 1 y) z) (- 1 y) (* x (- 1 (* (- 1 y) z))) (* x (- 1 (* (- 1 y) z))) (- 1 y) (* x (- 1 (* (- 1 y) z))) (- 1 (* (- 1 y) z)) (* x (- 1 (* (- 1 y) z))) (- 1 (* (- 1 y) z)) (- 1 (* (- 1 y) z)))
0.0ms
x
@inf
((* x (- 1 (* (- 1 y) z))) (* (- 1 y) z) (- 1 y) (* x (- 1 (* (- 1 y) z))) (* x (- 1 (* (- 1 y) z))) (- 1 y) (* x (- 1 (* (- 1 y) z))) (- 1 (* (- 1 y) z)) (* x (- 1 (* (- 1 y) z))) (- 1 (* (- 1 y) z)) (- 1 (* (- 1 y) z)))

simplify1.0ms (0.1%)

Memory
1.2MiB live, 1.2MiB allocated
Algorithm
egg-herbie
Counts
33 → 11
Calls
Call 1
Inputs
(* x (- 1 (* z (- 1 y))))
(* x (- 1 z))
(+ (* x (* y z)) (* x (- 1 z)))
z
(+ z (* -1 (* y z)))
1
(+ 1 (* -1 y))
(- 1 z)
(- (+ 1 (* y z)) z)
(* x (* y z))
(* y (+ (* x z) (/ (* x (- 1 z)) y)))
(* -1 (* y z))
(* y (+ (* -1 z) (/ z y)))
(* -1 y)
(* y (- (/ 1 y) 1))
(* y z)
(* y (- (/ 1 y) (+ (* -1 z) (/ z y))))
(* -1 (* y (+ (* -1 (* x z)) (* -1 (/ (* x (- 1 z)) y)))))
(* -1 (* y (+ z (* -1 (/ z y)))))
(* -1 (* y (- 1 (/ 1 y))))
(* -1 (* y (- (* -1 (/ (- 1 z) y)) z)))
x
(+ x (* x (* z (- y 1))))
(* z (- 1 y))
(+ 1 (* z (- y 1)))
(* x (* z (- y 1)))
(* z (+ (* x (- y 1)) (/ x z)))
(* z (- y 1))
(* z (- (+ y (/ 1 z)) 1))
(* -1 (* x (* z (- 1 y))))
(* -1 (* z (+ (* -1 (/ x z)) (* x (- 1 y)))))
(* -1 (* z (- 1 y)))
(* z (+ (* -1 (- 1 y)) (/ 1 z)))
Outputs
(* x (- 1 (* z (- 1 y))))
#s(approx (* x (- 1 (* (- 1 y) z))) (*.f64 #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))) z))
(* x (- 1 z))
(*.f64 #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))) z)
(+ (* x (* y z)) (* x (- 1 z)))
#s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))))
z
(*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))
(+ z (* -1 (* y z)))
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) y))
1
(-.f64 #s(literal 1 binary64) y)
(+ 1 (* -1 y))
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) (*.f64 #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))) z)))
(- 1 z)
(-.f64 #s(literal 1 binary64) (*.f64 #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))) z))
(- (+ 1 (* y z)) z)
(*.f64 x #s(approx (- 1 (* (- 1 y) z)) #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))))))
(* x (* y z))
#s(approx (- 1 (* (- 1 y) z)) #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))))
(* y (+ (* x z) (/ (* x (- 1 z)) y)))
#s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))

rewrite5.0ms (0.4%)

Memory
-35.9MiB live, 1.6MiB allocated
Counts
11 → 11
Calls
Call 1
Inputs
#s(approx (* x (- 1 (* (- 1 y) z))) (*.f64 #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))) z))
(*.f64 #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))) z)
#s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))))
(*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) y))
(-.f64 #s(literal 1 binary64) y)
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) (*.f64 #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))) z)))
(-.f64 #s(literal 1 binary64) (*.f64 #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))) z))
(*.f64 x #s(approx (- 1 (* (- 1 y) z)) #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))))))
#s(approx (- 1 (* (- 1 y) z)) #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))))
#s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))
Outputs
#s(approx (* x (- 1 (* (- 1 y) z))) (*.f64 #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))) z))
(*.f64 #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))) z)
#s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))))
(*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) y))
(-.f64 #s(literal 1 binary64) y)
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) (*.f64 #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))) z)))
(-.f64 #s(literal 1 binary64) (*.f64 #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))) z))
(*.f64 x #s(approx (- 1 (* (- 1 y) z)) #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))))))
#s(approx (- 1 (* (- 1 y) z)) #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))))
#s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))

eval4.0ms (0.4%)

Memory
9.0MiB live, 9.0MiB allocated
Compiler

Compiled 1 103 to 50 computations (95.5% saved)

prune6.0ms (0.5%)

Memory
12.0MiB live, 12.0MiB allocated
Pruning

10 alts after pruning (2 fresh and 8 done)

PrunedKeptTotal
New35237
Fresh000
Picked044
Done044
Total351045
Accuracy
99.9%
Counts
45 → 10
Alt Table
Click to see full alt table
StatusAccuracyProgram
95.1%
(*.f64 x (-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z)))
34.4%
(*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))
10.7%
(*.f64 x #s(approx (- 1 (* (- 1 y) z)) #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))))))
8.0%
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z)))
50.7%
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) (*.f64 #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))) z)))
6.2%
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) #s(approx (* (- 1 y) z) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))))))
3.3%
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) #s(approx (* (- 1 y) z) #s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) y)))))
3.2%
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) y))
6.7%
#s(approx (* x (- 1 (* (- 1 y) z))) (*.f64 (-.f64 #s(literal 1 binary64) y) z))
2.2%
#s(approx (* x (- 1 (* (- 1 y) z))) (*.f64 #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))) z))
Compiler

Compiled 216 to 129 computations (40.3% saved)

simplify1.0ms (0.1%)

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

Found 8 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))
cost-diff0
#s(approx (* (- 1 y) z) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))))
cost-diff0
(-.f64 #s(literal 1 binary64) #s(approx (* (- 1 y) z) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))))
cost-diff0
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) #s(approx (* (- 1 y) z) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))))))
cost-diff0
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) y))
cost-diff0
#s(approx (* (- 1 y) z) #s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) y)))
cost-diff0
(-.f64 #s(literal 1 binary64) #s(approx (* (- 1 y) z) #s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) y))))
cost-diff0
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) #s(approx (* (- 1 y) z) #s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) y)))))
Calls
Call 1
Inputs
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) #s(approx (* (- 1 y) z) #s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) y)))))
(-.f64 #s(literal 1 binary64) #s(approx (* (- 1 y) z) #s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) y))))
#s(literal 1 binary64)
#s(approx (* (- 1 y) z) #s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) y)))
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) y))
(-.f64 #s(literal 1 binary64) y)
y
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) #s(approx (* (- 1 y) z) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))))))
(-.f64 #s(literal 1 binary64) #s(approx (* (- 1 y) z) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))))
#s(literal 1 binary64)
#s(approx (* (- 1 y) z) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))))
(*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))
x
#s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))
(-.f64 #s(literal 1 binary64) y)
y
Outputs
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) #s(approx (* (- 1 y) z) #s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) y)))))
(-.f64 #s(literal 1 binary64) #s(approx (* (- 1 y) z) #s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) y))))
#s(literal 1 binary64)
#s(approx (* (- 1 y) z) #s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) y)))
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) y))
(-.f64 #s(literal 1 binary64) y)
y
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) #s(approx (* (- 1 y) z) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))))))
(-.f64 #s(literal 1 binary64) #s(approx (* (- 1 y) z) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))))
#s(literal 1 binary64)
#s(approx (* (- 1 y) z) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))))
(*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))
x
#s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))
(-.f64 #s(literal 1 binary64) y)
y

localize32.0ms (3%)

Memory
8.6MiB live, 45.6MiB allocated
Localize:

Found 8 expressions of interest:

NewMetricScoreProgram
accuracy3.1094775279938087
(*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))
accuracy45.785354460023655
#s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))
accuracy58.867780718373474
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) #s(approx (* (- 1 y) z) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))))))
accuracy59.70834718645517
#s(approx (* (- 1 y) z) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))))
accuracy0.0
(-.f64 #s(literal 1 binary64) y)
accuracy58.867780718373474
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) #s(approx (* (- 1 y) z) #s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) y)))))
accuracy59.70834718645517
#s(approx (* (- 1 y) z) #s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) y)))
accuracy61.97934375138911
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) y))
Samples
24.0ms256×0valid
Compiler

Compiled 270 to 29 computations (89.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 15.0ms
ival-mult: 12.0ms (80.3% of total)
ival-sub: 2.0ms (13.4% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series5.0ms (0.4%)

Memory
10.3MiB live, 10.3MiB allocated
Counts
10 → 33
Calls
Call 1
Inputs
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) #s(approx (* (- 1 y) z) #s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) y)))))
(-.f64 #s(literal 1 binary64) #s(approx (* (- 1 y) z) #s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) y))))
#s(approx (* (- 1 y) z) #s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) y)))
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) y))
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) #s(approx (* (- 1 y) z) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))))))
(-.f64 #s(literal 1 binary64) #s(approx (* (- 1 y) z) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))))
#s(approx (* (- 1 y) z) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))))
(*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))
(-.f64 #s(literal 1 binary64) y)
#s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))
Outputs
(* x (- 1 (* z (- 1 y))))
(* x (- 1 z))
(+ (* x (* y z)) (* x (- 1 z)))
(- 1 z)
(- (+ 1 (* y z)) z)
z
(+ z (* -1 (* y z)))
1
(+ 1 (* -1 y))
(* x (* y z))
(* y (+ (* x z) (/ (* x (- 1 z)) y)))
(* y z)
(* y (- (/ 1 y) (+ (* -1 z) (/ z y))))
(* -1 (* y z))
(* y (+ (* -1 z) (/ z y)))
(* -1 y)
(* y (- (/ 1 y) 1))
(* -1 (* y (+ (* -1 (* x z)) (* -1 (/ (* x (- 1 z)) y)))))
(* -1 (* y (- (* -1 (/ (- 1 z) y)) z)))
(* -1 (* y (+ z (* -1 (/ z y)))))
(* -1 (* y (- 1 (/ 1 y))))
x
(+ x (* x (* z (- y 1))))
(+ 1 (* z (- y 1)))
(* z (- 1 y))
(* x (* z (- y 1)))
(* z (+ (* x (- y 1)) (/ x z)))
(* z (- y 1))
(* z (- (+ y (/ 1 z)) 1))
(* -1 (* x (* z (- 1 y))))
(* -1 (* z (+ (* -1 (/ x z)) (* x (- 1 y)))))
(* -1 (* z (- 1 y)))
(* z (+ (* -1 (- 1 y)) (/ 1 z)))
Calls

9 calls:

TimeVariablePointExpression
1.0ms
z
@inf
((* x (- 1 (* (- 1 y) z))) (- 1 (* (- 1 y) z)) (* (- 1 y) z) (* x (- 1 (* (- 1 y) z))) (* x (- 1 (* (- 1 y) z))) (- 1 (* (- 1 y) z)) (* (- 1 y) z) (* x (- 1 (* (- 1 y) z))) (- 1 y) (- 1 (* (- 1 y) z)))
1.0ms
z
@-inf
((* x (- 1 (* (- 1 y) z))) (- 1 (* (- 1 y) z)) (* (- 1 y) z) (* x (- 1 (* (- 1 y) z))) (* x (- 1 (* (- 1 y) z))) (- 1 (* (- 1 y) z)) (* (- 1 y) z) (* x (- 1 (* (- 1 y) z))) (- 1 y) (- 1 (* (- 1 y) z)))
1.0ms
x
@-inf
((* x (- 1 (* (- 1 y) z))) (- 1 (* (- 1 y) z)) (* (- 1 y) z) (* x (- 1 (* (- 1 y) z))) (* x (- 1 (* (- 1 y) z))) (- 1 (* (- 1 y) z)) (* (- 1 y) z) (* x (- 1 (* (- 1 y) z))) (- 1 y) (- 1 (* (- 1 y) z)))
0.0ms
x
@0
((* x (- 1 (* (- 1 y) z))) (- 1 (* (- 1 y) z)) (* (- 1 y) z) (* x (- 1 (* (- 1 y) z))) (* x (- 1 (* (- 1 y) z))) (- 1 (* (- 1 y) z)) (* (- 1 y) z) (* x (- 1 (* (- 1 y) z))) (- 1 y) (- 1 (* (- 1 y) z)))
0.0ms
y
@inf
((* x (- 1 (* (- 1 y) z))) (- 1 (* (- 1 y) z)) (* (- 1 y) z) (* x (- 1 (* (- 1 y) z))) (* x (- 1 (* (- 1 y) z))) (- 1 (* (- 1 y) z)) (* (- 1 y) z) (* x (- 1 (* (- 1 y) z))) (- 1 y) (- 1 (* (- 1 y) z)))

simplify5.0ms (0.5%)

Memory
-44.9MiB live, 1.2MiB allocated
Algorithm
egg-herbie
Counts
33 → 10
Calls
Call 1
Inputs
(* x (- 1 (* z (- 1 y))))
(* x (- 1 z))
(+ (* x (* y z)) (* x (- 1 z)))
(- 1 z)
(- (+ 1 (* y z)) z)
z
(+ z (* -1 (* y z)))
1
(+ 1 (* -1 y))
(* x (* y z))
(* y (+ (* x z) (/ (* x (- 1 z)) y)))
(* y z)
(* y (- (/ 1 y) (+ (* -1 z) (/ z y))))
(* -1 (* y z))
(* y (+ (* -1 z) (/ z y)))
(* -1 y)
(* y (- (/ 1 y) 1))
(* -1 (* y (+ (* -1 (* x z)) (* -1 (/ (* x (- 1 z)) y)))))
(* -1 (* y (- (* -1 (/ (- 1 z) y)) z)))
(* -1 (* y (+ z (* -1 (/ z y)))))
(* -1 (* y (- 1 (/ 1 y))))
x
(+ x (* x (* z (- y 1))))
(+ 1 (* z (- y 1)))
(* z (- 1 y))
(* x (* z (- y 1)))
(* z (+ (* x (- y 1)) (/ x z)))
(* z (- y 1))
(* z (- (+ y (/ 1 z)) 1))
(* -1 (* x (* z (- 1 y))))
(* -1 (* z (+ (* -1 (/ x z)) (* x (- 1 y)))))
(* -1 (* z (- 1 y)))
(* z (+ (* -1 (- 1 y)) (/ 1 z)))
Outputs
(* x (- 1 (* z (- 1 y))))
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) #s(approx (* (- 1 y) z) #s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) y)))))
(* x (- 1 z))
(-.f64 #s(literal 1 binary64) #s(approx (* (- 1 y) z) #s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) y))))
(+ (* x (* y z)) (* x (- 1 z)))
#s(approx (* (- 1 y) z) #s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) y)))
(- 1 z)
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) y))
(- (+ 1 (* y z)) z)
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) #s(approx (* (- 1 y) z) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))))))
z
(-.f64 #s(literal 1 binary64) #s(approx (* (- 1 y) z) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))))
(+ z (* -1 (* y z)))
#s(approx (* (- 1 y) z) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))))
1
(*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))
(+ 1 (* -1 y))
(-.f64 #s(literal 1 binary64) y)
(* x (* y z))
#s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))

rewrite1.0ms (0.1%)

Memory
1.5MiB live, 1.5MiB allocated
Counts
10 → 10
Calls
Call 1
Inputs
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) #s(approx (* (- 1 y) z) #s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) y)))))
(-.f64 #s(literal 1 binary64) #s(approx (* (- 1 y) z) #s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) y))))
#s(approx (* (- 1 y) z) #s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) y)))
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) y))
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) #s(approx (* (- 1 y) z) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))))))
(-.f64 #s(literal 1 binary64) #s(approx (* (- 1 y) z) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))))
#s(approx (* (- 1 y) z) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))))
(*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))
(-.f64 #s(literal 1 binary64) y)
#s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))
Outputs
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) #s(approx (* (- 1 y) z) #s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) y)))))
(-.f64 #s(literal 1 binary64) #s(approx (* (- 1 y) z) #s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) y))))
#s(approx (* (- 1 y) z) #s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) y)))
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) y))
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) #s(approx (* (- 1 y) z) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))))))
(-.f64 #s(literal 1 binary64) #s(approx (* (- 1 y) z) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))))
#s(approx (* (- 1 y) z) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))))
(*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))
(-.f64 #s(literal 1 binary64) y)
#s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))

eval2.0ms (0.2%)

Memory
5.9MiB live, 5.9MiB allocated
Compiler

Compiled 748 to 52 computations (93% saved)

prune8.0ms (0.7%)

Memory
17.9MiB live, 17.9MiB allocated
Pruning

10 alts after pruning (0 fresh and 10 done)

PrunedKeptTotal
New22022
Fresh000
Picked022
Done088
Total221032
Accuracy
99.9%
Counts
32 → 10
Alt Table
Click to see full alt table
StatusAccuracyProgram
95.1%
(*.f64 x (-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z)))
34.4%
(*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))
10.7%
(*.f64 x #s(approx (- 1 (* (- 1 y) z)) #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))))))
8.0%
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z)))
50.7%
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) (*.f64 #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))) z)))
6.2%
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) #s(approx (* (- 1 y) z) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))))))
3.3%
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) #s(approx (* (- 1 y) z) #s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) y)))))
3.2%
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) y))
6.7%
#s(approx (* x (- 1 (* (- 1 y) z))) (*.f64 (-.f64 #s(literal 1 binary64) y) z))
2.2%
#s(approx (* x (- 1 (* (- 1 y) z))) (*.f64 #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))) z))
Compiler

Compiled 432 to 160 computations (63% saved)

regimes30.0ms (2.8%)

Memory
-16.7MiB live, 60.2MiB allocated
Counts
10 → 3
Calls
Call 1
Inputs
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) y))
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) #s(approx (* (- 1 y) z) #s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) y)))))
#s(approx (* x (- 1 (* (- 1 y) z))) (*.f64 (-.f64 #s(literal 1 binary64) y) z))
(*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) #s(approx (* (- 1 y) z) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))))))
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z)))
#s(approx (* x (- 1 (* (- 1 y) z))) (*.f64 #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))) z))
(*.f64 x #s(approx (- 1 (* (- 1 y) z)) #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))))))
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) (*.f64 #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))) z)))
(*.f64 x (-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z)))
Outputs
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) (*.f64 #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))) z)))
(*.f64 x (-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z)))
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) (*.f64 #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))) z)))
Calls

7 calls:

7.0ms
x
5.0ms
(*.f64 (-.f64 #s(literal 1 binary64) y) z)
4.0ms
z
4.0ms
y
3.0ms
(-.f64 #s(literal 1 binary64) y)
Results
AccuracySegmentsBranch
95.1%1x
95.1%1y
97.3%2z
99.9%3(*.f64 x (-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z)))
99.9%3(-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z))
99.9%3(*.f64 (-.f64 #s(literal 1 binary64) y) z)
95.1%1(-.f64 #s(literal 1 binary64) y)
Compiler

Compiled 27 to 35 computations (-29.6% saved)

regimes27.0ms (2.5%)

Memory
13.0MiB live, 50.9MiB allocated
Counts
9 → 3
Calls
Call 1
Inputs
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) y))
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) #s(approx (* (- 1 y) z) #s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) y)))))
#s(approx (* x (- 1 (* (- 1 y) z))) (*.f64 (-.f64 #s(literal 1 binary64) y) z))
(*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) #s(approx (* (- 1 y) z) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))))))
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z)))
#s(approx (* x (- 1 (* (- 1 y) z))) (*.f64 #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))) z))
(*.f64 x #s(approx (- 1 (* (- 1 y) z)) #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))))))
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) (*.f64 #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))) z)))
Outputs
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) (*.f64 #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))) z)))
(*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) (*.f64 #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))) z)))
Calls

7 calls:

8.0ms
y
3.0ms
z
3.0ms
x
3.0ms
(*.f64 (-.f64 #s(literal 1 binary64) y) z)
3.0ms
(*.f64 x (-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z)))
Results
AccuracySegmentsBranch
62.6%3(-.f64 #s(literal 1 binary64) y)
50.7%1x
63.3%3y
70.0%3z
62.2%3(*.f64 x (-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z)))
75.6%3(-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z))
75.6%3(*.f64 (-.f64 #s(literal 1 binary64) y) z)
Compiler

Compiled 27 to 35 computations (-29.6% saved)

regimes25.0ms (2.3%)

Memory
9.5MiB live, 54.4MiB allocated
Counts
8 → 2
Calls
Call 1
Inputs
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) y))
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) #s(approx (* (- 1 y) z) #s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) y)))))
#s(approx (* x (- 1 (* (- 1 y) z))) (*.f64 (-.f64 #s(literal 1 binary64) y) z))
(*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) #s(approx (* (- 1 y) z) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))))))
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z)))
#s(approx (* x (- 1 (* (- 1 y) z))) (*.f64 #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))) z))
(*.f64 x #s(approx (- 1 (* (- 1 y) z)) #s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))))))
Outputs
(*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z)))
Calls

7 calls:

7.0ms
z
3.0ms
y
3.0ms
x
3.0ms
(*.f64 (-.f64 #s(literal 1 binary64) y) z)
3.0ms
(*.f64 x (-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z)))
Results
AccuracySegmentsBranch
34.4%1x
34.4%1(*.f64 x (-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z)))
36.1%2(-.f64 #s(literal 1 binary64) y)
36.1%2y
37.0%2z
34.4%1(*.f64 (-.f64 #s(literal 1 binary64) y) z)
34.4%1(-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z))
Compiler

Compiled 27 to 35 computations (-29.6% saved)

regimes3.0ms (0.3%)

Memory
7.5MiB live, 7.5MiB allocated
Counts
5 → 2
Calls
Call 1
Inputs
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) y))
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) #s(approx (* (- 1 y) z) #s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) y)))))
#s(approx (* x (- 1 (* (- 1 y) z))) (*.f64 (-.f64 #s(literal 1 binary64) y) z))
(*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) #s(approx (* (- 1 y) z) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))))))
Outputs
(*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) #s(approx (* (- 1 y) z) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))))))
Calls

1 calls:

2.0ms
z
Results
AccuracySegmentsBranch
36.6%2z
Compiler

Compiled 1 to 3 computations (-200% saved)

regimes4.0ms (0.4%)

Memory
-31.5MiB live, 7.5MiB allocated
Counts
4 → 2
Calls
Call 1
Inputs
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) y))
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) #s(approx (* (- 1 y) z) #s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) y)))))
#s(approx (* x (- 1 (* (- 1 y) z))) (*.f64 (-.f64 #s(literal 1 binary64) y) z))
(*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))
Outputs
(*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))
#s(approx (* x (- 1 (* (- 1 y) z))) (*.f64 (-.f64 #s(literal 1 binary64) y) z))
Calls

1 calls:

4.0ms
z
Results
AccuracySegmentsBranch
36.2%2z
Compiler

Compiled 1 to 3 computations (-200% saved)

regimes13.0ms (1.2%)

Memory
2.1MiB live, 41.4MiB allocated
Counts
3 → 1
Calls
Call 1
Inputs
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) y))
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) #s(approx (* (- 1 y) z) #s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) y)))))
#s(approx (* x (- 1 (* (- 1 y) z))) (*.f64 (-.f64 #s(literal 1 binary64) y) z))
Outputs
#s(approx (* x (- 1 (* (- 1 y) z))) (*.f64 (-.f64 #s(literal 1 binary64) y) z))
Calls

7 calls:

3.0ms
x
2.0ms
y
2.0ms
z
2.0ms
(*.f64 (-.f64 #s(literal 1 binary64) y) z)
2.0ms
(*.f64 x (-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z)))
Results
AccuracySegmentsBranch
6.7%1x
6.7%1(*.f64 x (-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z)))
6.7%1(*.f64 (-.f64 #s(literal 1 binary64) y) z)
6.7%1(-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z))
6.7%1y
6.7%1(-.f64 #s(literal 1 binary64) y)
6.7%1z
Compiler

Compiled 27 to 35 computations (-29.6% saved)

regimes10.0ms (0.9%)

Memory
29.9MiB live, 29.9MiB allocated
Counts
2 → 1
Calls
Call 1
Inputs
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) y))
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) #s(approx (* (- 1 y) z) #s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) y)))))
Outputs
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) #s(approx (* (- 1 y) z) #s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) y)))))
Calls

7 calls:

1.0ms
(*.f64 x (-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z)))
1.0ms
y
1.0ms
z
1.0ms
x
1.0ms
(*.f64 (-.f64 #s(literal 1 binary64) y) z)
Results
AccuracySegmentsBranch
3.3%1x
3.3%1y
3.3%1(*.f64 (-.f64 #s(literal 1 binary64) y) z)
3.3%1(-.f64 #s(literal 1 binary64) y)
3.3%1z
3.3%1(*.f64 x (-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z)))
3.3%1(-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z))
Compiler

Compiled 27 to 35 computations (-29.6% saved)

regimes9.0ms (0.9%)

Memory
-7.1MiB live, 32.0MiB allocated
Counts
1 → 1
Calls
Call 1
Inputs
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) y))
Outputs
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) y))
Calls

7 calls:

2.0ms
(-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z))
1.0ms
(*.f64 (-.f64 #s(literal 1 binary64) y) z)
1.0ms
(-.f64 #s(literal 1 binary64) y)
1.0ms
y
1.0ms
(*.f64 x (-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z)))
Results
AccuracySegmentsBranch
3.2%1x
3.2%1y
3.2%1z
3.2%1(-.f64 #s(literal 1 binary64) y)
3.2%1(*.f64 x (-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z)))
3.2%1(*.f64 (-.f64 #s(literal 1 binary64) y) z)
3.2%1(-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z))
Compiler

Compiled 27 to 35 computations (-29.6% saved)

bsearch1.0ms (0.1%)

Memory
1.5MiB live, 1.5MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.0184080377364372e+292
1.7591751656994515e+294
0.0ms
-inf
-2.5558800077673433e+307
Compiler

Compiled 12 to 15 computations (-25% saved)

bsearch1.0ms (0%)

Memory
1.2MiB live, 1.2MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
510.0431405803173
1616922684102.342
0.0ms
0.9978591782385445
0.9993676380815073
Compiler

Compiled 12 to 14 computations (-16.7% saved)

bsearch11.0ms (1%)

Memory
-38.3MiB live, 16.0MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
10.0ms
0.0006323619184927349
0.0023389884854714167
Samples
7.0ms80×0valid
Compiler

Compiled 162 to 144 computations (11.1% saved)

Precisions
Click to see histograms. Total time spent on operations: 5.0ms
ival-mult: 4.0ms (81% of total)
ival-sub: 1.0ms (20.2% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

bsearch6.0ms (0.6%)

Memory
13.3MiB live, 13.3MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
5.0ms
0.0006323619184927349
0.0023389884854714167
Samples
3.0ms64×0valid
Compiler

Compiled 232 to 154 computations (33.6% saved)

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

bsearch1.0ms (0.1%)

Memory
2.2MiB live, 2.2MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
1.0ms
0.0006323619184927349
0.0023389884854714167
Compiler

Compiled 152 to 139 computations (8.6% saved)

simplify4.0ms (0.4%)

Memory
11.3MiB live, 11.3MiB allocated

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...