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

Time bar (total: 1.1s)

start0.0ms (0%)

Memory
0.1MiB live, 0.0MiB allocated

analyze0.0ms (0%)

Memory
0.6MiB live, 0.6MiB 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)

sample641.0ms (57.1%)

Memory
-25.0MiB live, 1 004.6MiB allocated
Samples
398.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 212.0ms
ival-mult: 111.0ms (52.4% of total)
ival-sub: 89.0ms (42% of total)
ival-true: 5.0ms (2.4% of total)
exact: 4.0ms (1.9% of total)
ival-assert: 3.0ms (1.4% of total)
Bogosity

explain76.0ms (6.8%)

Memory
3.1MiB live, 118.3MiB allocated
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
110-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*o110
Confusion
Predicted +Predicted -
+110
-0245
Precision
1.0
Recall
1.0
Confusion?
Predicted +Predicted MaybePredicted -
+1100
-00245
Precision?
1.0
Recall?
1.0
Freqs
test
numberfreq
0245
111
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Samples
27.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 (49.2% of total)
ival-sub: 5.0ms (41% 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
5.9MiB live, 5.9MiB 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.2MiB live, 0.2MiB allocated
Compiler

Compiled 0 to 3 computations (-∞% saved)

prune0.0ms (0%)

Memory
0.7MiB live, 0.7MiB allocated
Alt Table
Click to see full alt table
StatusAccuracyProgram
95.9%
(*.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

localize21.0ms (1.8%)

Memory
-13.3MiB live, 27.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.00390625
(*.f64 (-.f64 #s(literal 1 binary64) y) z)
accuracy2.6478704457624755
(*.f64 x (-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z)))
Samples
13.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.5% of total)
ival-sub: 2.0ms (33.7% 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.6%)

Memory
10.3MiB live, 10.3MiB 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
x
@0
((* 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
z
@-inf
((* x (- 1 (* (- 1 y) z))) (- 1 (* (- 1 y) z)) (* (- 1 y) z) (- 1 y))

simplify0.0ms (0%)

Memory
0.7MiB live, 0.7MiB 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.7MiB live, 0.7MiB 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.6MiB live, 1.6MiB allocated
Compiler

Compiled 100 to 18 computations (82% saved)

prune2.0ms (0.1%)

Memory
3.0MiB live, 3.0MiB allocated
Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New538
Fresh000
Picked011
Done000
Total549
Accuracy
95.9%
Counts
9 → 4
Alt Table
Click to see full alt table
StatusAccuracyProgram
95.9%
(*.f64 x (-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z)))
29.3%
(*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))
7.9%
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z)))
7.2%
#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

localize25.0ms (2.2%)

Memory
3.9MiB live, 40.9MiB allocated
Localize:

Found 10 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(-.f64 #s(literal 1 binary64) y)
accuracy2.6478704457624755
(*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))
accuracy46.97890824186685
#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.00390625
(*.f64 (-.f64 #s(literal 1 binary64) y) z)
accuracy58.94007760885544
#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.00390625
(*.f64 (-.f64 #s(literal 1 binary64) y) z)
accuracy59.42276510402546
#s(approx (* x (- 1 (* (- 1 y) z))) (*.f64 (-.f64 #s(literal 1 binary64) y) z))
Samples
18.0ms256×0valid
Compiler

Compiled 162 to 26 computations (84% saved)

Precisions
Click to see histograms. Total time spent on operations: 9.0ms
ival-mult: 6.0ms (69.9% of total)
ival-sub: 3.0ms (34.9% 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.9MiB live, 7.9MiB 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
1.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
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)))
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)))

simplify0.0ms (0%)

Memory
0.9MiB live, 0.9MiB 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))

eval2.0ms (0.2%)

Memory
4.8MiB live, 4.8MiB allocated
Compiler

Compiled 474 to 40 computations (91.6% saved)

prune8.0ms (0.7%)

Memory
-29.4MiB live, 7.9MiB allocated
Pruning

8 alts after pruning (4 fresh and 4 done)

PrunedKeptTotal
New18422
Fresh000
Picked033
Done011
Total18826
Accuracy
99.6%
Counts
26 → 8
Alt Table
Click to see full alt table
StatusAccuracyProgram
95.9%
(*.f64 x (-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z)))
29.3%
(*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))
9.8%
(*.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))))))
7.9%
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z)))
46.2%
#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.4%
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) y))
7.2%
#s(approx (* x (- 1 (* (- 1 y) z))) (*.f64 (-.f64 #s(literal 1 binary64) y) z))
2.3%
#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.2MiB live, 2.2MiB 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

localize33.0ms (3%)

Memory
16.6MiB live, 53.8MiB allocated
Localize:

Found 14 expressions of interest:

NewMetricScoreProgram
accuracy2.6478704457624755
(*.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))))))
accuracy46.97890824186685
#s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))
accuracy46.97890824186685
#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.84712387433347
#s(approx (- 1 y) (*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))))
accuracy2.6478704457624755
(*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))
accuracy46.97890824186685
#s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))
accuracy58.94007760885544
#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.84712387433347
#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.84712387433347
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) y))
accuracy2.6478704457624755
(*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))
accuracy46.97890824186685
#s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))
accuracy59.42276510402546
#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.84712387433347
#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: 6.0ms
ival-sub: 3.0ms (49.5% of total)
ival-mult: 3.0ms (49.5% 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
9.5MiB live, 9.5MiB 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
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
@-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
y
@-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
@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)))

simplify1.0ms (0%)

Memory
1.1MiB live, 1.1MiB 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))

rewrite1.0ms (0.1%)

Memory
1.7MiB live, 1.7MiB 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.3%)

Memory
8.0MiB live, 8.0MiB allocated
Compiler

Compiled 1 103 to 50 computations (95.5% saved)

prune9.0ms (0.8%)

Memory
-33.6MiB live, 11.3MiB allocated
Pruning

10 alts after pruning (2 fresh and 8 done)

PrunedKeptTotal
New35237
Fresh000
Picked044
Done044
Total351045
Accuracy
99.6%
Counts
45 → 10
Alt Table
Click to see full alt table
StatusAccuracyProgram
95.9%
(*.f64 x (-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z)))
29.3%
(*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))
9.8%
(*.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))))))
7.9%
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z)))
46.2%
#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)))
7.1%
#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.4%
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) y))
7.2%
#s(approx (* x (- 1 (* (- 1 y) z))) (*.f64 (-.f64 #s(literal 1 binary64) y) z))
2.3%
#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.4MiB live, 1.4MiB 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

localize25.0ms (2.3%)

Memory
14.7MiB live, 51.7MiB allocated
Localize:

Found 8 expressions of interest:

NewMetricScoreProgram
accuracy2.6478704457624755
(*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))
accuracy46.97890824186685
#s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y))
accuracy58.94007760885544
#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.42276510402546
#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.94007760885544
#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.42276510402546
#s(approx (* (- 1 y) z) #s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) y)))
accuracy61.84712387433347
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) y))
Samples
18.0ms256×0valid
Compiler

Compiled 270 to 29 computations (89.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 6.0ms
ival-sub: 3.0ms (49.2% of total)
ival-mult: 3.0ms (49.2% 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.1MiB live, 10.1MiB 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
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)))
0.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)))

simplify1.0ms (0%)

Memory
1.1MiB live, 1.1MiB 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.4MiB live, 1.4MiB 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))

eval12.0ms (1%)

Memory
-31.6MiB live, 5.2MiB allocated
Compiler

Compiled 748 to 52 computations (93% saved)

prune8.0ms (0.7%)

Memory
18.0MiB live, 18.0MiB allocated
Pruning

11 alts after pruning (1 fresh and 10 done)

PrunedKeptTotal
New21122
Fresh000
Picked022
Done088
Total211132
Accuracy
99.6%
Counts
32 → 11
Alt Table
Click to see full alt table
StatusAccuracyProgram
95.9%
(*.f64 x (-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z)))
29.3%
(*.f64 x #s(approx (- 1 (* (- 1 y) z)) (-.f64 #s(literal 1 binary64) y)))
9.8%
(*.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))))))
7.9%
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z)))
46.2%
#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)))
19.8%
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) #s(approx (* (- 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))))))))
7.1%
#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.4%
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) y))
7.2%
#s(approx (* x (- 1 (* (- 1 y) z))) (*.f64 (-.f64 #s(literal 1 binary64) y) z))
2.3%
#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 510 to 180 computations (64.7% saved)

regimes40.0ms (3.5%)

Memory
-20.6MiB live, 64.6MiB allocated
Counts
11 → 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))))))
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) #s(approx (* (- 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 #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
(*.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:

10.0ms
(-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z))
9.0ms
x
4.0ms
y
4.0ms
(*.f64 (-.f64 #s(literal 1 binary64) y) z)
4.0ms
z
Results
AccuracySegmentsBranch
95.9%1x
95.9%1y
95.9%1z
98.4%2(*.f64 x (-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z)))
98.9%2(-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z))
98.9%2(*.f64 (-.f64 #s(literal 1 binary64) y) z)
95.9%1(-.f64 #s(literal 1 binary64) y)
Compiler

Compiled 27 to 35 computations (-29.6% saved)

regimes27.0ms (2.4%)

Memory
18.5MiB live, 57.7MiB 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) #s(approx (* (- 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 #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:

5.0ms
z
4.0ms
(*.f64 (-.f64 #s(literal 1 binary64) y) z)
4.0ms
y
4.0ms
x
3.0ms
(-.f64 #s(literal 1 binary64) y)
Results
AccuracySegmentsBranch
49.4%3x
55.2%3y
65.4%3z
55.2%3(-.f64 #s(literal 1 binary64) y)
58.1%3(*.f64 x (-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z)))
69.7%3(-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z))
69.7%3(*.f64 (-.f64 #s(literal 1 binary64) y) z)
Compiler

Compiled 27 to 35 computations (-29.6% saved)

regimes26.0ms (2.4%)

Memory
13.3MiB live, 51.8MiB 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) #s(approx (* (- 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
#s(approx (* x (- 1 (* (- 1 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 (* 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

7 calls:

6.0ms
z
3.0ms
x
3.0ms
y
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
29.3%1x
33.1%3y
33.1%3(-.f64 #s(literal 1 binary64) y)
31.7%2(*.f64 x (-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z)))
35.3%3z
36.6%4(*.f64 (-.f64 #s(literal 1 binary64) y) z)
36.6%4(-.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.3MiB live, 7.3MiB 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
33.6%2z
Compiler

Compiled 1 to 3 computations (-200% saved)

regimes9.0ms (0.8%)

Memory
-21.9MiB live, 17.0MiB 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

3 calls:

2.0ms
(*.f64 (-.f64 #s(literal 1 binary64) y) z)
2.0ms
z
2.0ms
(-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z))
Results
AccuracySegmentsBranch
31.0%2(-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z))
31.0%2(*.f64 (-.f64 #s(literal 1 binary64) y) z)
31.7%2z
Compiler

Compiled 13 to 16 computations (-23.1% saved)

regimes16.0ms (1.5%)

Memory
-17.9MiB live, 40.1MiB 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:

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

Compiled 27 to 35 computations (-29.6% saved)

regimes11.0ms (1%)

Memory
4.4MiB live, 44.1MiB allocated
Accuracy

Total -1.2b remaining (-2%)

Threshold costs -1.2b (-2%)

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) y))
Calls

7 calls:

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

Compiled 27 to 35 computations (-29.6% saved)

bsearch0.0ms (0%)

Memory
0.9MiB live, 0.9MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
2.0046017175847327e+261
1.338266932925813e+274
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
1.404827322053025e+21
9.65317541766283e+26
0.0ms
-3276.3275072815795
-628.8435415444925
Compiler

Compiled 12 to 14 computations (-16.7% saved)

bsearch24.0ms (2.1%)

Memory
11.2MiB live, 49.7MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
11.0ms
8.007024975500313e-14
4.18758788258642e-9
11.0ms
-4.379517023790093e+228
-1.7262513163502988e+226
Samples
12.0ms240×0valid
Compiler

Compiled 574 to 420 computations (26.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 7.0ms
ival-mult: 4.0ms (57.8% of total)
ival-sub: 2.0ms (28.9% 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
3.2MiB live, 3.2MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
1.0ms
8.007024975500313e-14
4.18758788258642e-9
Compiler

Compiled 364 to 238 computations (34.6% saved)

bsearch9.0ms (0.8%)

Memory
-19.1MiB live, 19.6MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
8.0ms
0.45497300377454714
1.6338895847471646
Samples
4.0ms80×0valid
Compiler

Compiled 152 to 139 computations (8.6% saved)

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

simplify5.0ms (0.5%)

Memory
16.5MiB live, 16.5MiB allocated
Algorithm
egg-herbie
Calls
Call 1
Inputs
(if (<=.f64 (*.f64 (-.f64 #s(literal 1 binary64) y) z) #s(literal 3999999999999999715095362081467030147506957283246306448927125922805880381418109976030985365764553105769897559078190254101729172466004490268714857437524891108419417842983218717518577988172833069534526588669511447794183559899235847479774284307101712435693957939200 binary64)) (*.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))))
(if (<=.f64 (-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z)) #s(literal -2000 binary64)) #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))) (if (<=.f64 (-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z)) #s(literal 2000000000000000000000 binary64)) (*.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)))))
(if (<=.f64 z #s(literal -249999999999999981127280380618811716294668050071597603343410047731917694218676725250216868646074079448025526803849324428504314495201949473268410963248002115317291743547418889035478194203043299371784807625853355592549187287252992 binary64)) #s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z))) (if (<=.f64 z #s(literal 4593918114535591/4835703278458516698824704 binary64)) (*.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))))))))
(if (<=.f64 z #s(literal 4593918114535591/4835703278458516698824704 binary64)) (*.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)))))))
(if (<=.f64 z #s(literal 1 binary64)) (*.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)))
#s(approx (* x (- 1 (* (- 1 y) z))) (*.f64 (-.f64 #s(literal 1 binary64) y) z))
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) y))
Outputs
(if (<=.f64 (*.f64 (-.f64 #s(literal 1 binary64) y) z) #s(literal 3999999999999999715095362081467030147506957283246306448927125922805880381418109976030985365764553105769897559078190254101729172466004490268714857437524891108419417842983218717518577988172833069534526588669511447794183559899235847479774284307101712435693957939200 binary64)) (*.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))))
(if (<=.f64 (-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z)) #s(literal -2000 binary64)) #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))) (if (<=.f64 (-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z)) #s(literal 2000000000000000000000 binary64)) (*.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)))))
(if (<=.f64 z #s(literal -249999999999999981127280380618811716294668050071597603343410047731917694218676725250216868646074079448025526803849324428504314495201949473268410963248002115317291743547418889035478194203043299371784807625853355592549187287252992 binary64)) #s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(literal 1 binary64) y) z))) (if (<=.f64 z #s(literal 4593918114535591/4835703278458516698824704 binary64)) (*.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))))))))
(if (<=.f64 z #s(literal 4593918114535591/4835703278458516698824704 binary64)) (*.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)))))))
(if (<=.f64 z #s(literal 1 binary64)) (*.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)))
#s(approx (* x (- 1 (* (- 1 y) z))) (*.f64 (-.f64 #s(literal 1 binary64) y) z))
#s(approx (* x (- 1 (* (- 1 y) z))) (-.f64 #s(literal 1 binary64) y))

soundness4.0ms (0.4%)

Memory
-31.1MiB live, 9.8MiB allocated
Stop Event
fuel
Compiler

Compiled 320 to 42 computations (86.9% saved)

preprocess47.0ms (4.2%)

Memory
36.3MiB live, 113.5MiB allocated
Compiler

Compiled 768 to 146 computations (81% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...