Numeric.SpecFunctions.Extra:bd0 from math-functions-0.1.5.2

Time bar (total: 1.7s)

start0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

analyze76.0ms (4.4%)

Memory
-19.3MiB live, 105.5MiB allocated
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.9%0.1%0%0%0%0
0%0%99.9%0.1%0%0%0%1
0%0%99.9%0.1%0%0%0%2
0%0%74.9%0.1%0%25%0%3
0%0%74.9%0.1%0%25%0%4
0%0%74.9%0.1%0%25%0%5
30%18.7%43.7%0.1%0%37.4%0%6
30%18.7%43.7%0.1%0%37.4%0%7
35%21.8%40.6%0.1%0%37.4%0%8
52.8%29.6%26.5%0.1%0%43.7%0%9
52.8%29.6%26.5%0.1%0%43.7%0%10
59.7%33.5%22.6%0.1%0%43.7%0%11
72.8%38.6%14.4%0.1%0%46.8%0%12
Compiler

Compiled 10 to 9 computations (10% saved)

sample846.0ms (49%)

Memory
13.5MiB live, 1 202.2MiB allocated
Samples
527.0ms8 256×0valid
27.0ms511×0invalid
Precisions
Click to see histograms. Total time spent on operations: 340.0ms
ival-log: 119.0ms (35% of total)
ival-div: 98.0ms (28.9% of total)
ival-mult: 69.0ms (20.3% of total)
ival-sub: 43.0ms (12.7% of total)
ival-true: 7.0ms (2.1% of total)
ival-assert: 4.0ms (1.2% of total)
Bogosity

explain90.0ms (5.2%)

Memory
6.0MiB live, 118.0MiB allocated
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
610-2(3.574514459338308e-275 1.4452814503274617e+47 -5.389808896066795e-202)(log.f64 (/.f64 x y))
00-0-(/.f64 x y)
00-0-(*.f64 x (log.f64 (/.f64 x y)))
00-0-(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)
00-0-y
00-0-z
00-0-x
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
log.f64(log.f64 (/.f64 x y))oflow-rescue340
(/.f64 x y)overflow34
log.f64(log.f64 (/.f64 x y))uflow-rescue10
(/.f64 x y)underflow25
Confusion
Predicted +Predicted -
+3524
-0197
Precision
1.0
Recall
0.5932203389830508
Confusion?
Predicted +Predicted MaybePredicted -
+35024
-00197
Precision?
1.0
Recall?
0.5932203389830508
Freqs
test
numberfreq
0221
135
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Samples
36.0ms512×0valid
Compiler

Compiled 84 to 32 computations (61.9% saved)

Precisions
Click to see histograms. Total time spent on operations: 18.0ms
ival-log: 7.0ms (38.9% of total)
ival-div: 5.0ms (27.8% of total)
ival-mult: 4.0ms (22.2% of total)
ival-sub: 2.0ms (11.1% of total)
ival-true: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

preprocess3.0ms (0.2%)

Memory
5.6MiB live, 5.6MiB allocated
Algorithm
egg-herbie
Calls
Call 1
Inputs
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)
Outputs
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)
Compiler

Compiled 8 to 7 computations (12.5% saved)

eval0.0ms (0%)

Memory
0.1MiB live, 0.1MiB 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
77.7%
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)
Compiler

Compiled 8 to 7 computations (12.5% saved)

simplify0.0ms (0%)

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

Found 4 expressions of interest:

NewMetricScoreProgram
cost-diff0
(/.f64 x y)
cost-diff0
(log.f64 (/.f64 x y))
cost-diff0
(*.f64 x (log.f64 (/.f64 x y)))
cost-diff0
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)
Calls
Call 1
Inputs
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)
(*.f64 x (log.f64 (/.f64 x y)))
x
(log.f64 (/.f64 x y))
(/.f64 x y)
y
z
Outputs
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)
(*.f64 x (log.f64 (/.f64 x y)))
x
(log.f64 (/.f64 x y))
(/.f64 x y)
y
z

localize28.0ms (1.6%)

Memory
-17.9MiB live, 27.3MiB allocated
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(/.f64 x y)
accuracy0.01171875
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)
accuracy0.24609375
(*.f64 x (log.f64 (/.f64 x y)))
accuracy14.51624473490773
(log.f64 (/.f64 x y))
Samples
16.0ms256×0valid
Compiler

Compiled 50 to 16 computations (68% saved)

Precisions
Click to see histograms. Total time spent on operations: 9.0ms
ival-log: 3.0ms (34.3% of total)
ival-div: 2.0ms (22.8% of total)
ival-mult: 2.0ms (22.8% of total)
ival-sub: 1.0ms (11.4% of total)
ival-true: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series134.0ms (7.7%)

Memory
32.8MiB live, 224.6MiB allocated
Counts
4 → 21
Calls
Call 1
Inputs
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)
(*.f64 x (log.f64 (/.f64 x y)))
(log.f64 (/.f64 x y))
(/.f64 x y)
Outputs
(* -1 z)
(- (* x (+ (log x) (log (/ 1 y)))) z)
(* x (+ (log x) (log (/ 1 y))))
(+ (log x) (log (/ 1 y)))
(/ x y)
(* x (+ (log (/ 1 y)) (* -1 (log (/ 1 x)))))
(* x (+ (log (/ 1 y)) (+ (* -1 (log (/ 1 x))) (* -1 (/ z x)))))
(+ (log (/ 1 y)) (* -1 (log (/ 1 x))))
(* x (+ (log (/ -1 y)) (* -1 (log (/ -1 x)))))
(* -1 (* x (+ (* -1 (+ (log (/ -1 y)) (* -1 (log (/ -1 x))))) (/ z x))))
(+ (log (/ -1 y)) (* -1 (log (/ -1 x))))
(- (* x (+ (log x) (* -1 (log y)))) z)
(* x (+ (log x) (* -1 (log y))))
(+ (log x) (* -1 (log y)))
(- (* x (+ (log (* -1 x)) (log (/ -1 y)))) z)
(* x (+ (log (* -1 x)) (log (/ -1 y))))
(+ (log (* -1 x)) (log (/ -1 y)))
(* x (log (/ x y)))
(+ (* -1 z) (* x (log (/ x y))))
(* z (- (/ (* x (log (/ x y))) z) 1))
(* -1 (* z (+ 1 (* -1 (/ (* x (log (/ x y))) z)))))
Calls

9 calls:

TimeVariablePointExpression
37.0ms
y
@-inf
((- (* x (log (/ x y))) z) (* x (log (/ x y))) (log (/ x y)) (/ x y))
37.0ms
x
@0
((- (* x (log (/ x y))) z) (* x (log (/ x y))) (log (/ x y)) (/ x y))
18.0ms
x
@-inf
((- (* x (log (/ x y))) z) (* x (log (/ x y))) (log (/ x y)) (/ x y))
13.0ms
y
@0
((- (* x (log (/ x y))) z) (* x (log (/ x y))) (log (/ x y)) (/ x y))
12.0ms
x
@inf
((- (* x (log (/ x y))) z) (* x (log (/ x y))) (log (/ x y)) (/ x y))

simplify0.0ms (0%)

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

rewrite0.0ms (0%)

Memory
0.7MiB live, 0.7MiB allocated
Counts
4 → 4
Calls
Call 1
Inputs
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)
(*.f64 x (log.f64 (/.f64 x y)))
(log.f64 (/.f64 x y))
(/.f64 x y)
Outputs
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)
(*.f64 x (log.f64 (/.f64 x y)))
(log.f64 (/.f64 x y))
(/.f64 x y)

eval1.0ms (0%)

Memory
1.9MiB live, 1.9MiB allocated
Compiler

Compiled 89 to 18 computations (79.8% saved)

prune1.0ms (0.1%)

Memory
3.2MiB live, 3.2MiB allocated
Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New538
Fresh000
Picked011
Done000
Total549
Accuracy
87.1%
Counts
9 → 4
Alt Table
Click to see full alt table
StatusAccuracyProgram
77.7%
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)
41.1%
(-.f64 (*.f64 x #s(approx (log (/ x y)) (/.f64 x y))) z)
30.8%
(-.f64 #s(approx (* x (log (/ x y))) (log.f64 (/.f64 x y))) z)
41.1%
#s(approx (- (* x (log (/ x y))) z) (*.f64 x (log.f64 (/.f64 x y))))
Compiler

Compiled 48 to 37 computations (22.9% saved)

simplify1.0ms (0%)

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

Found 12 expressions of interest:

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

localize30.0ms (1.7%)

Memory
-27.9MiB live, 49.0MiB allocated
Localize:

Found 12 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(/.f64 x y)
accuracy0.01171875
(-.f64 (*.f64 x #s(approx (log (/ x y)) (/.f64 x y))) z)
accuracy0.24609375
(*.f64 x #s(approx (log (/ x y)) (/.f64 x y)))
accuracy61.61163387412329
#s(approx (log (/ x y)) (/.f64 x y))
accuracy0.0
(/.f64 x y)
accuracy0.01171875
(-.f64 #s(approx (* x (log (/ x y))) (log.f64 (/.f64 x y))) z)
accuracy14.51624473490773
(log.f64 (/.f64 x y))
accuracy61.69611475063808
#s(approx (* x (log (/ x y))) (log.f64 (/.f64 x y)))
accuracy0.0
(/.f64 x y)
accuracy0.24609375
(*.f64 x (log.f64 (/.f64 x y)))
accuracy14.51624473490773
(log.f64 (/.f64 x y))
accuracy30.673765747602793
#s(approx (- (* x (log (/ x y))) z) (*.f64 x (log.f64 (/.f64 x y))))
Samples
21.0ms256×0valid
Compiler

Compiled 173 to 25 computations (85.5% saved)

Precisions
Click to see histograms. Total time spent on operations: 10.0ms
ival-log: 5.0ms (48.2% of total)
ival-div: 2.0ms (19.3% of total)
ival-mult: 2.0ms (19.3% of total)
ival-sub: 1.0ms (9.6% of total)
ival-true: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series61.0ms (3.5%)

Memory
6.6MiB live, 122.5MiB allocated
Counts
9 → 21
Calls
Call 1
Inputs
#s(approx (- (* x (log (/ x y))) z) (*.f64 x (log.f64 (/.f64 x y))))
(*.f64 x (log.f64 (/.f64 x y)))
(log.f64 (/.f64 x y))
(/.f64 x y)
(-.f64 #s(approx (* x (log (/ x y))) (log.f64 (/.f64 x y))) z)
#s(approx (* x (log (/ x y))) (log.f64 (/.f64 x y)))
(-.f64 (*.f64 x #s(approx (log (/ x y)) (/.f64 x y))) z)
(*.f64 x #s(approx (log (/ x y)) (/.f64 x y)))
#s(approx (log (/ x y)) (/.f64 x y))
Outputs
(* -1 z)
(- (* x (+ (log x) (log (/ 1 y)))) z)
(* x (+ (log x) (log (/ 1 y))))
(+ (log x) (log (/ 1 y)))
(/ x y)
(* x (+ (log (/ 1 y)) (* -1 (log (/ 1 x)))))
(* x (+ (log (/ 1 y)) (+ (* -1 (log (/ 1 x))) (* -1 (/ z x)))))
(+ (log (/ 1 y)) (* -1 (log (/ 1 x))))
(* x (+ (log (/ -1 y)) (* -1 (log (/ -1 x)))))
(* -1 (* x (+ (* -1 (+ (log (/ -1 y)) (* -1 (log (/ -1 x))))) (/ z x))))
(+ (log (/ -1 y)) (* -1 (log (/ -1 x))))
(- (* x (+ (log x) (* -1 (log y)))) z)
(* x (+ (log x) (* -1 (log y))))
(+ (log x) (* -1 (log y)))
(- (* x (+ (log (* -1 x)) (log (/ -1 y)))) z)
(* x (+ (log (* -1 x)) (log (/ -1 y))))
(+ (log (* -1 x)) (log (/ -1 y)))
(* x (log (/ x y)))
(+ (* -1 z) (* x (log (/ x y))))
(* z (- (/ (* x (log (/ x y))) z) 1))
(* -1 (* z (+ 1 (* -1 (/ (* x (log (/ x y))) z)))))
Calls

9 calls:

TimeVariablePointExpression
11.0ms
x
@inf
((- (* x (log (/ x y))) z) (* x (log (/ x y))) (log (/ x y)) (/ x y) (- (* x (log (/ x y))) z) (* x (log (/ x y))) (- (* x (log (/ x y))) z) (* x (log (/ x y))) (log (/ x y)))
10.0ms
y
@inf
((- (* x (log (/ x y))) z) (* x (log (/ x y))) (log (/ x y)) (/ x y) (- (* x (log (/ x y))) z) (* x (log (/ x y))) (- (* x (log (/ x y))) z) (* x (log (/ x y))) (log (/ x y)))
10.0ms
x
@0
((- (* x (log (/ x y))) z) (* x (log (/ x y))) (log (/ x y)) (/ x y) (- (* x (log (/ x y))) z) (* x (log (/ x y))) (- (* x (log (/ x y))) z) (* x (log (/ x y))) (log (/ x y)))
7.0ms
x
@-inf
((- (* x (log (/ x y))) z) (* x (log (/ x y))) (log (/ x y)) (/ x y) (- (* x (log (/ x y))) z) (* x (log (/ x y))) (- (* x (log (/ x y))) z) (* x (log (/ x y))) (log (/ x y)))
7.0ms
y
@0
((- (* x (log (/ x y))) z) (* x (log (/ x y))) (log (/ x y)) (/ x y) (- (* x (log (/ x y))) z) (* x (log (/ x y))) (- (* x (log (/ x y))) z) (* x (log (/ x y))) (log (/ x y)))

simplify0.0ms (0%)

Memory
1.1MiB live, 1.1MiB allocated
Algorithm
egg-herbie
Counts
21 → 9
Calls
Call 1
Inputs
(* -1 z)
(- (* x (+ (log x) (log (/ 1 y)))) z)
(* x (+ (log x) (log (/ 1 y))))
(+ (log x) (log (/ 1 y)))
(/ x y)
(* x (+ (log (/ 1 y)) (* -1 (log (/ 1 x)))))
(* x (+ (log (/ 1 y)) (+ (* -1 (log (/ 1 x))) (* -1 (/ z x)))))
(+ (log (/ 1 y)) (* -1 (log (/ 1 x))))
(* x (+ (log (/ -1 y)) (* -1 (log (/ -1 x)))))
(* -1 (* x (+ (* -1 (+ (log (/ -1 y)) (* -1 (log (/ -1 x))))) (/ z x))))
(+ (log (/ -1 y)) (* -1 (log (/ -1 x))))
(- (* x (+ (log x) (* -1 (log y)))) z)
(* x (+ (log x) (* -1 (log y))))
(+ (log x) (* -1 (log y)))
(- (* x (+ (log (* -1 x)) (log (/ -1 y)))) z)
(* x (+ (log (* -1 x)) (log (/ -1 y))))
(+ (log (* -1 x)) (log (/ -1 y)))
(* x (log (/ x y)))
(+ (* -1 z) (* x (log (/ x y))))
(* z (- (/ (* x (log (/ x y))) z) 1))
(* -1 (* z (+ 1 (* -1 (/ (* x (log (/ x y))) z)))))
Outputs
(* -1 z)
#s(approx (- (* x (log (/ x y))) z) (*.f64 x (log.f64 (/.f64 x y))))
(- (* x (+ (log x) (log (/ 1 y)))) z)
(*.f64 x (log.f64 (/.f64 x y)))
(* x (+ (log x) (log (/ 1 y))))
(log.f64 (/.f64 x y))
(+ (log x) (log (/ 1 y)))
(/.f64 x y)
(/ x y)
(-.f64 #s(approx (* x (log (/ x y))) (log.f64 (/.f64 x y))) z)
(* x (+ (log (/ 1 y)) (* -1 (log (/ 1 x)))))
#s(approx (* x (log (/ x y))) (log.f64 (/.f64 x y)))
(* x (+ (log (/ 1 y)) (+ (* -1 (log (/ 1 x))) (* -1 (/ z x)))))
(-.f64 (*.f64 x #s(approx (log (/ x y)) (/.f64 x y))) z)
(+ (log (/ 1 y)) (* -1 (log (/ 1 x))))
(*.f64 x #s(approx (log (/ x y)) (/.f64 x y)))
(* x (+ (log (/ -1 y)) (* -1 (log (/ -1 x)))))
#s(approx (log (/ x y)) (/.f64 x y))

rewrite1.0ms (0%)

Memory
1.4MiB live, 1.4MiB allocated
Counts
9 → 9
Calls
Call 1
Inputs
#s(approx (- (* x (log (/ x y))) z) (*.f64 x (log.f64 (/.f64 x y))))
(*.f64 x (log.f64 (/.f64 x y)))
(log.f64 (/.f64 x y))
(/.f64 x y)
(-.f64 #s(approx (* x (log (/ x y))) (log.f64 (/.f64 x y))) z)
#s(approx (* x (log (/ x y))) (log.f64 (/.f64 x y)))
(-.f64 (*.f64 x #s(approx (log (/ x y)) (/.f64 x y))) z)
(*.f64 x #s(approx (log (/ x y)) (/.f64 x y)))
#s(approx (log (/ x y)) (/.f64 x y))
Outputs
#s(approx (- (* x (log (/ x y))) z) (*.f64 x (log.f64 (/.f64 x y))))
(*.f64 x (log.f64 (/.f64 x y)))
(log.f64 (/.f64 x y))
(/.f64 x y)
(-.f64 #s(approx (* x (log (/ x y))) (log.f64 (/.f64 x y))) z)
#s(approx (* x (log (/ x y))) (log.f64 (/.f64 x y)))
(-.f64 (*.f64 x #s(approx (log (/ x y)) (/.f64 x y))) z)
(*.f64 x #s(approx (log (/ x y)) (/.f64 x y)))
#s(approx (log (/ x y)) (/.f64 x y))

eval2.0ms (0.1%)

Memory
5.7MiB live, 5.7MiB allocated
Compiler

Compiled 405 to 37 computations (90.9% saved)

prune5.0ms (0.3%)

Memory
11.5MiB live, 11.5MiB allocated
Pruning

9 alts after pruning (5 fresh and 4 done)

PrunedKeptTotal
New17522
Fresh000
Picked033
Done011
Total17926
Accuracy
87.1%
Counts
26 → 9
Alt Table
Click to see full alt table
StatusAccuracyProgram
77.7%
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)
41.1%
(-.f64 (*.f64 x #s(approx (log (/ x y)) (/.f64 x y))) z)
30.8%
(-.f64 #s(approx (* x (log (/ x y))) (log.f64 (/.f64 x y))) z)
37.9%
(-.f64 #s(approx (* x (log (/ x y))) #s(approx (log (/ x y)) (/.f64 x y))) z)
41.1%
#s(approx (- (* x (log (/ x y))) z) (*.f64 x (log.f64 (/.f64 x y))))
5.0%
#s(approx (- (* x (log (/ x y))) z) (*.f64 x #s(approx (log (/ x y)) (/.f64 x y))))
4.0%
#s(approx (- (* x (log (/ x y))) z) (*.f64 x #s(approx (log (/ x y)) (*.f64 x #s(approx (log (/ x y)) (/.f64 x y))))))
3.0%
#s(approx (- (* x (log (/ x y))) z) #s(approx (* x (log (/ x y))) (log.f64 (/.f64 x y))))
3.4%
#s(approx (- (* x (log (/ x y))) z) #s(approx (log (/ x y)) (/.f64 x y)))
Compiler

Compiled 246 to 147 computations (40.2% saved)

simplify1.0ms (0.1%)

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

Found 19 expressions of interest:

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

localize51.0ms (3%)

Memory
-15.2MiB live, 72.3MiB allocated
Localize:

Found 19 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(/.f64 x y)
accuracy14.51624473490773
(log.f64 (/.f64 x y))
accuracy30.673765747602793
#s(approx (- (* x (log (/ x y))) z) #s(approx (* x (log (/ x y))) (log.f64 (/.f64 x y))))
accuracy61.69611475063808
#s(approx (* x (log (/ x y))) (log.f64 (/.f64 x y)))
accuracy0.24609375
(*.f64 x #s(approx (log (/ x y)) (*.f64 x #s(approx (log (/ x y)) (/.f64 x y)))))
accuracy30.673765747602793
#s(approx (- (* x (log (/ x y))) z) (*.f64 x #s(approx (log (/ x y)) (*.f64 x #s(approx (log (/ x y)) (/.f64 x y))))))
accuracy61.61163387412329
#s(approx (log (/ x y)) (/.f64 x y))
accuracy61.69611475063808
#s(approx (log (/ x y)) (*.f64 x #s(approx (log (/ x y)) (/.f64 x y))))
accuracy0.0
(/.f64 x y)
accuracy0.24609375
(*.f64 x #s(approx (log (/ x y)) (/.f64 x y)))
accuracy30.673765747602793
#s(approx (- (* x (log (/ x y))) z) (*.f64 x #s(approx (log (/ x y)) (/.f64 x y))))
accuracy61.61163387412329
#s(approx (log (/ x y)) (/.f64 x y))
accuracy0.0
(/.f64 x y)
accuracy61.61163387412329
#s(approx (log (/ x y)) (/.f64 x y))
accuracy62.04606521605494
#s(approx (- (* x (log (/ x y))) z) #s(approx (log (/ x y)) (/.f64 x y)))
accuracy0.0
(/.f64 x y)
accuracy0.01171875
(-.f64 #s(approx (* x (log (/ x y))) #s(approx (log (/ x y)) (/.f64 x y))) z)
accuracy61.61163387412329
#s(approx (log (/ x y)) (/.f64 x y))
accuracy61.69611475063808
#s(approx (* x (log (/ x y))) #s(approx (log (/ x y)) (/.f64 x y)))
Samples
41.0ms256×0valid
Compiler

Compiled 361 to 29 computations (92% saved)

Precisions
Click to see histograms. Total time spent on operations: 9.0ms
ival-log: 3.0ms (34% of total)
ival-div: 2.0ms (22.7% of total)
ival-mult: 2.0ms (22.7% of total)
ival-sub: 1.0ms (11.3% of total)
ival-true: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series61.0ms (3.6%)

Memory
-5.5MiB live, 108.5MiB allocated
Counts
13 → 21
Calls
Call 1
Inputs
(-.f64 #s(approx (* x (log (/ x y))) #s(approx (log (/ x y)) (/.f64 x y))) z)
#s(approx (* x (log (/ x y))) #s(approx (log (/ x y)) (/.f64 x y)))
#s(approx (log (/ x y)) (/.f64 x y))
(/.f64 x y)
#s(approx (- (* x (log (/ x y))) z) #s(approx (log (/ x y)) (/.f64 x y)))
#s(approx (- (* x (log (/ x y))) z) (*.f64 x #s(approx (log (/ x y)) (/.f64 x y))))
(*.f64 x #s(approx (log (/ x y)) (/.f64 x y)))
#s(approx (- (* x (log (/ x y))) z) (*.f64 x #s(approx (log (/ x y)) (*.f64 x #s(approx (log (/ x y)) (/.f64 x y))))))
(*.f64 x #s(approx (log (/ x y)) (*.f64 x #s(approx (log (/ x y)) (/.f64 x y)))))
#s(approx (log (/ x y)) (*.f64 x #s(approx (log (/ x y)) (/.f64 x y))))
#s(approx (- (* x (log (/ x y))) z) #s(approx (* x (log (/ x y))) (log.f64 (/.f64 x y))))
#s(approx (* x (log (/ x y))) (log.f64 (/.f64 x y)))
(log.f64 (/.f64 x y))
Outputs
(* -1 z)
(- (* x (+ (log x) (log (/ 1 y)))) z)
(* x (+ (log x) (log (/ 1 y))))
(+ (log x) (log (/ 1 y)))
(/ x y)
(* x (+ (log (/ 1 y)) (* -1 (log (/ 1 x)))))
(* x (+ (log (/ 1 y)) (+ (* -1 (log (/ 1 x))) (* -1 (/ z x)))))
(+ (log (/ 1 y)) (* -1 (log (/ 1 x))))
(* x (+ (log (/ -1 y)) (* -1 (log (/ -1 x)))))
(* -1 (* x (+ (* -1 (+ (log (/ -1 y)) (* -1 (log (/ -1 x))))) (/ z x))))
(+ (log (/ -1 y)) (* -1 (log (/ -1 x))))
(- (* x (+ (log x) (* -1 (log y)))) z)
(* x (+ (log x) (* -1 (log y))))
(+ (log x) (* -1 (log y)))
(- (* x (+ (log (* -1 x)) (log (/ -1 y)))) z)
(* x (+ (log (* -1 x)) (log (/ -1 y))))
(+ (log (* -1 x)) (log (/ -1 y)))
(* x (log (/ x y)))
(+ (* -1 z) (* x (log (/ x y))))
(* z (- (/ (* x (log (/ x y))) z) 1))
(* -1 (* z (+ 1 (* -1 (/ (* x (log (/ x y))) z)))))
Calls

9 calls:

TimeVariablePointExpression
15.0ms
x
@0
((- (* x (log (/ x y))) z) (* x (log (/ x y))) (log (/ x y)) (/ x y) (- (* x (log (/ x y))) z) (- (* x (log (/ x y))) z) (* x (log (/ x y))) (- (* x (log (/ x y))) z) (* x (log (/ x y))) (log (/ x y)) (- (* x (log (/ x y))) z) (* x (log (/ x y))) (log (/ x y)))
11.0ms
y
@0
((- (* x (log (/ x y))) z) (* x (log (/ x y))) (log (/ x y)) (/ x y) (- (* x (log (/ x y))) z) (- (* x (log (/ x y))) z) (* x (log (/ x y))) (- (* x (log (/ x y))) z) (* x (log (/ x y))) (log (/ x y)) (- (* x (log (/ x y))) z) (* x (log (/ x y))) (log (/ x y)))
7.0ms
x
@-inf
((- (* x (log (/ x y))) z) (* x (log (/ x y))) (log (/ x y)) (/ x y) (- (* x (log (/ x y))) z) (- (* x (log (/ x y))) z) (* x (log (/ x y))) (- (* x (log (/ x y))) z) (* x (log (/ x y))) (log (/ x y)) (- (* x (log (/ x y))) z) (* x (log (/ x y))) (log (/ x y)))
7.0ms
x
@inf
((- (* x (log (/ x y))) z) (* x (log (/ x y))) (log (/ x y)) (/ x y) (- (* x (log (/ x y))) z) (- (* x (log (/ x y))) z) (* x (log (/ x y))) (- (* x (log (/ x y))) z) (* x (log (/ x y))) (log (/ x y)) (- (* x (log (/ x y))) z) (* x (log (/ x y))) (log (/ x y)))
7.0ms
y
@-inf
((- (* x (log (/ x y))) z) (* x (log (/ x y))) (log (/ x y)) (/ x y) (- (* x (log (/ x y))) z) (- (* x (log (/ x y))) z) (* x (log (/ x y))) (- (* x (log (/ x y))) z) (* x (log (/ x y))) (log (/ x y)) (- (* x (log (/ x y))) z) (* x (log (/ x y))) (log (/ x y)))

simplify1.0ms (0%)

Memory
1.0MiB live, 1.0MiB allocated
Algorithm
egg-herbie
Counts
21 → 13
Calls
Call 1
Inputs
(* -1 z)
(- (* x (+ (log x) (log (/ 1 y)))) z)
(* x (+ (log x) (log (/ 1 y))))
(+ (log x) (log (/ 1 y)))
(/ x y)
(* x (+ (log (/ 1 y)) (* -1 (log (/ 1 x)))))
(* x (+ (log (/ 1 y)) (+ (* -1 (log (/ 1 x))) (* -1 (/ z x)))))
(+ (log (/ 1 y)) (* -1 (log (/ 1 x))))
(* x (+ (log (/ -1 y)) (* -1 (log (/ -1 x)))))
(* -1 (* x (+ (* -1 (+ (log (/ -1 y)) (* -1 (log (/ -1 x))))) (/ z x))))
(+ (log (/ -1 y)) (* -1 (log (/ -1 x))))
(- (* x (+ (log x) (* -1 (log y)))) z)
(* x (+ (log x) (* -1 (log y))))
(+ (log x) (* -1 (log y)))
(- (* x (+ (log (* -1 x)) (log (/ -1 y)))) z)
(* x (+ (log (* -1 x)) (log (/ -1 y))))
(+ (log (* -1 x)) (log (/ -1 y)))
(* x (log (/ x y)))
(+ (* -1 z) (* x (log (/ x y))))
(* z (- (/ (* x (log (/ x y))) z) 1))
(* -1 (* z (+ 1 (* -1 (/ (* x (log (/ x y))) z)))))
Outputs
(* -1 z)
(-.f64 #s(approx (* x (log (/ x y))) #s(approx (log (/ x y)) (/.f64 x y))) z)
(- (* x (+ (log x) (log (/ 1 y)))) z)
#s(approx (* x (log (/ x y))) #s(approx (log (/ x y)) (/.f64 x y)))
(* x (+ (log x) (log (/ 1 y))))
#s(approx (log (/ x y)) (/.f64 x y))
(+ (log x) (log (/ 1 y)))
(/.f64 x y)
(/ x y)
#s(approx (- (* x (log (/ x y))) z) #s(approx (log (/ x y)) (/.f64 x y)))
(* x (+ (log (/ 1 y)) (* -1 (log (/ 1 x)))))
#s(approx (- (* x (log (/ x y))) z) (*.f64 x #s(approx (log (/ x y)) (/.f64 x y))))
(* x (+ (log (/ 1 y)) (+ (* -1 (log (/ 1 x))) (* -1 (/ z x)))))
(*.f64 x #s(approx (log (/ x y)) (/.f64 x y)))
(+ (log (/ 1 y)) (* -1 (log (/ 1 x))))
#s(approx (- (* x (log (/ x y))) z) (*.f64 x #s(approx (log (/ x y)) (*.f64 x #s(approx (log (/ x y)) (/.f64 x y))))))
(* x (+ (log (/ -1 y)) (* -1 (log (/ -1 x)))))
(*.f64 x #s(approx (log (/ x y)) (*.f64 x #s(approx (log (/ x y)) (/.f64 x y)))))
(* -1 (* x (+ (* -1 (+ (log (/ -1 y)) (* -1 (log (/ -1 x))))) (/ z x))))
#s(approx (log (/ x y)) (*.f64 x #s(approx (log (/ x y)) (/.f64 x y))))
(+ (log (/ -1 y)) (* -1 (log (/ -1 x))))
#s(approx (- (* x (log (/ x y))) z) #s(approx (* x (log (/ x y))) (log.f64 (/.f64 x y))))
(- (* x (+ (log x) (* -1 (log y)))) z)
#s(approx (* x (log (/ x y))) (log.f64 (/.f64 x y)))
(* x (+ (log x) (* -1 (log y))))
(log.f64 (/.f64 x y))

rewrite1.0ms (0%)

Memory
1.6MiB live, 1.6MiB allocated
Counts
13 → 13
Calls
Call 1
Inputs
(-.f64 #s(approx (* x (log (/ x y))) #s(approx (log (/ x y)) (/.f64 x y))) z)
#s(approx (* x (log (/ x y))) #s(approx (log (/ x y)) (/.f64 x y)))
#s(approx (log (/ x y)) (/.f64 x y))
(/.f64 x y)
#s(approx (- (* x (log (/ x y))) z) #s(approx (log (/ x y)) (/.f64 x y)))
#s(approx (- (* x (log (/ x y))) z) (*.f64 x #s(approx (log (/ x y)) (/.f64 x y))))
(*.f64 x #s(approx (log (/ x y)) (/.f64 x y)))
#s(approx (- (* x (log (/ x y))) z) (*.f64 x #s(approx (log (/ x y)) (*.f64 x #s(approx (log (/ x y)) (/.f64 x y))))))
(*.f64 x #s(approx (log (/ x y)) (*.f64 x #s(approx (log (/ x y)) (/.f64 x y)))))
#s(approx (log (/ x y)) (*.f64 x #s(approx (log (/ x y)) (/.f64 x y))))
#s(approx (- (* x (log (/ x y))) z) #s(approx (* x (log (/ x y))) (log.f64 (/.f64 x y))))
#s(approx (* x (log (/ x y))) (log.f64 (/.f64 x y)))
(log.f64 (/.f64 x y))
Outputs
(-.f64 #s(approx (* x (log (/ x y))) #s(approx (log (/ x y)) (/.f64 x y))) z)
#s(approx (* x (log (/ x y))) #s(approx (log (/ x y)) (/.f64 x y)))
#s(approx (log (/ x y)) (/.f64 x y))
(/.f64 x y)
#s(approx (- (* x (log (/ x y))) z) #s(approx (log (/ x y)) (/.f64 x y)))
#s(approx (- (* x (log (/ x y))) z) (*.f64 x #s(approx (log (/ x y)) (/.f64 x y))))
(*.f64 x #s(approx (log (/ x y)) (/.f64 x y)))
#s(approx (- (* x (log (/ x y))) z) (*.f64 x #s(approx (log (/ x y)) (*.f64 x #s(approx (log (/ x y)) (/.f64 x y))))))
(*.f64 x #s(approx (log (/ x y)) (*.f64 x #s(approx (log (/ x y)) (/.f64 x y)))))
#s(approx (log (/ x y)) (*.f64 x #s(approx (log (/ x y)) (/.f64 x y))))
#s(approx (- (* x (log (/ x y))) z) #s(approx (* x (log (/ x y))) (log.f64 (/.f64 x y))))
#s(approx (* x (log (/ x y))) (log.f64 (/.f64 x y)))
(log.f64 (/.f64 x y))

eval4.0ms (0.2%)

Memory
8.1MiB live, 8.1MiB allocated
Compiler

Compiled 1 033 to 56 computations (94.6% saved)

prune7.0ms (0.4%)

Memory
13.6MiB live, 13.6MiB allocated
Pruning

12 alts after pruning (3 fresh and 9 done)

PrunedKeptTotal
New35338
Fresh000
Picked055
Done044
Total351247
Accuracy
87.1%
Counts
47 → 12
Alt Table
Click to see full alt table
StatusAccuracyProgram
77.7%
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)
41.1%
(-.f64 (*.f64 x #s(approx (log (/ x y)) (/.f64 x y))) z)
30.8%
(-.f64 #s(approx (* x (log (/ x y))) (log.f64 (/.f64 x y))) z)
37.9%
(-.f64 #s(approx (* x (log (/ x y))) #s(approx (log (/ x y)) (/.f64 x y))) z)
41.6%
(-.f64 #s(approx (* x (log (/ x y))) #s(approx (log (/ x y)) #s(approx (- (* x (log (/ x y))) z) (*.f64 x #s(approx (log (/ x y)) (*.f64 x #s(approx (log (/ x y)) (/.f64 x y)))))))) z)
41.1%
#s(approx (- (* x (log (/ x y))) z) (*.f64 x (log.f64 (/.f64 x y))))
5.0%
#s(approx (- (* x (log (/ x y))) z) (*.f64 x #s(approx (log (/ x y)) (/.f64 x y))))
4.0%
#s(approx (- (* x (log (/ x y))) z) (*.f64 x #s(approx (log (/ x y)) (*.f64 x #s(approx (log (/ x y)) (/.f64 x y))))))
3.9%
#s(approx (- (* x (log (/ x y))) z) (*.f64 x #s(approx (log (/ x y)) (*.f64 x #s(approx (log (/ x y)) #s(approx (- (* x (log (/ x y))) z) (*.f64 x #s(approx (log (/ x y)) (*.f64 x #s(approx (log (/ x y)) (/.f64 x y)))))))))))
4.8%
#s(approx (- (* x (log (/ x y))) z) (*.f64 x #s(approx (log (/ x y)) #s(approx (- (* x (log (/ x y))) z) (*.f64 x #s(approx (log (/ x y)) (*.f64 x #s(approx (log (/ x y)) (/.f64 x y)))))))))
3.0%
#s(approx (- (* x (log (/ x y))) z) #s(approx (* x (log (/ x y))) (log.f64 (/.f64 x y))))
3.4%
#s(approx (- (* x (log (/ x y))) z) #s(approx (log (/ x y)) (/.f64 x y)))
Compiler

Compiled 278 to 142 computations (48.9% saved)

simplify2.0ms (0.1%)

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

Found 12 expressions of interest:

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

localize39.0ms (2.3%)

Memory
-11.1MiB live, 71.9MiB allocated
Localize:

Found 12 expressions of interest:

NewMetricScoreProgram
accuracy61.61163387412329
#s(approx (log (/ x y)) (/.f64 x y))
accuracy61.69611475063808
#s(approx (* x (log (/ x y))) #s(approx (log (/ x y)) #s(approx (- (* x (log (/ x y))) z) (*.f64 x #s(approx (log (/ x y)) (*.f64 x #s(approx (log (/ x y)) (/.f64 x y))))))))
accuracy61.69611475063808
#s(approx (log (/ x y)) (*.f64 x #s(approx (log (/ x y)) (/.f64 x y))))
accuracy62.04606521605494
#s(approx (log (/ x y)) #s(approx (- (* x (log (/ x y))) z) (*.f64 x #s(approx (log (/ x y)) (*.f64 x #s(approx (log (/ x y)) (/.f64 x y)))))))
accuracy61.61163387412329
#s(approx (log (/ x y)) (/.f64 x y))
accuracy61.69611475063808
#s(approx (log (/ x y)) (*.f64 x #s(approx (log (/ x y)) (/.f64 x y))))
accuracy61.69611475063808
#s(approx (log (/ x y)) (*.f64 x #s(approx (log (/ x y)) #s(approx (- (* x (log (/ x y))) z) (*.f64 x #s(approx (log (/ x y)) (*.f64 x #s(approx (log (/ x y)) (/.f64 x y)))))))))
accuracy62.04606521605494
#s(approx (log (/ x y)) #s(approx (- (* x (log (/ x y))) z) (*.f64 x #s(approx (log (/ x y)) (*.f64 x #s(approx (log (/ x y)) (/.f64 x y)))))))
accuracy30.673765747602793
#s(approx (- (* x (log (/ x y))) z) (*.f64 x #s(approx (log (/ x y)) #s(approx (- (* x (log (/ x y))) z) (*.f64 x #s(approx (log (/ x y)) (*.f64 x #s(approx (log (/ x y)) (/.f64 x y)))))))))
accuracy61.61163387412329
#s(approx (log (/ x y)) (/.f64 x y))
accuracy61.69611475063808
#s(approx (log (/ x y)) (*.f64 x #s(approx (log (/ x y)) (/.f64 x y))))
accuracy62.04606521605494
#s(approx (log (/ x y)) #s(approx (- (* x (log (/ x y))) z) (*.f64 x #s(approx (log (/ x y)) (*.f64 x #s(approx (log (/ x y)) (/.f64 x y)))))))
Samples
26.0ms256×0valid
Compiler

Compiled 816 to 30 computations (96.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 9.0ms
ival-log: 3.0ms (33.4% of total)
ival-div: 2.0ms (22.2% of total)
ival-mult: 2.0ms (22.2% of total)
ival-sub: 1.0ms (11.1% of total)
ival-true: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series58.0ms (3.4%)

Memory
-3.1MiB live, 116.7MiB allocated
Counts
11 → 20
Calls
Call 1
Inputs
#s(approx (- (* x (log (/ x y))) z) (*.f64 x #s(approx (log (/ x y)) #s(approx (- (* x (log (/ x y))) z) (*.f64 x #s(approx (log (/ x y)) (*.f64 x #s(approx (log (/ x y)) (/.f64 x y)))))))))
(*.f64 x #s(approx (log (/ x y)) #s(approx (- (* x (log (/ x y))) z) (*.f64 x #s(approx (log (/ x y)) (*.f64 x #s(approx (log (/ x y)) (/.f64 x y))))))))
#s(approx (log (/ x y)) #s(approx (- (* x (log (/ x y))) z) (*.f64 x #s(approx (log (/ x y)) (*.f64 x #s(approx (log (/ x y)) (/.f64 x y)))))))
#s(approx (- (* x (log (/ x y))) z) (*.f64 x #s(approx (log (/ x y)) (*.f64 x #s(approx (log (/ x y)) (/.f64 x y))))))
#s(approx (- (* x (log (/ x y))) z) (*.f64 x #s(approx (log (/ x y)) (*.f64 x #s(approx (log (/ x y)) #s(approx (- (* x (log (/ x y))) z) (*.f64 x #s(approx (log (/ x y)) (*.f64 x #s(approx (log (/ x y)) (/.f64 x y)))))))))))
(*.f64 x #s(approx (log (/ x y)) (*.f64 x #s(approx (log (/ x y)) #s(approx (- (* x (log (/ x y))) z) (*.f64 x #s(approx (log (/ x y)) (*.f64 x #s(approx (log (/ x y)) (/.f64 x y))))))))))
#s(approx (log (/ x y)) (*.f64 x #s(approx (log (/ x y)) #s(approx (- (* x (log (/ x y))) z) (*.f64 x #s(approx (log (/ x y)) (*.f64 x #s(approx (log (/ x y)) (/.f64 x y)))))))))
(-.f64 #s(approx (* x (log (/ x y))) #s(approx (log (/ x y)) #s(approx (- (* x (log (/ x y))) z) (*.f64 x #s(approx (log (/ x y)) (*.f64 x #s(approx (log (/ x y)) (/.f64 x y)))))))) z)
#s(approx (* x (log (/ x y))) #s(approx (log (/ x y)) #s(approx (- (* x (log (/ x y))) z) (*.f64 x #s(approx (log (/ x y)) (*.f64 x #s(approx (log (/ x y)) (/.f64 x y))))))))
#s(approx (log (/ x y)) (*.f64 x #s(approx (log (/ x y)) (/.f64 x y))))
#s(approx (log (/ x y)) (/.f64 x y))
Outputs
(* -1 z)
(- (* x (+ (log x) (log (/ 1 y)))) z)
(* x (+ (log x) (log (/ 1 y))))
(+ (log x) (log (/ 1 y)))
(* x (+ (log (/ 1 y)) (* -1 (log (/ 1 x)))))
(* x (+ (log (/ 1 y)) (+ (* -1 (log (/ 1 x))) (* -1 (/ z x)))))
(+ (log (/ 1 y)) (* -1 (log (/ 1 x))))
(* x (+ (log (/ -1 y)) (* -1 (log (/ -1 x)))))
(* -1 (* x (+ (* -1 (+ (log (/ -1 y)) (* -1 (log (/ -1 x))))) (/ z x))))
(+ (log (/ -1 y)) (* -1 (log (/ -1 x))))
(- (* x (+ (log x) (* -1 (log y)))) z)
(* x (+ (log x) (* -1 (log y))))
(+ (log x) (* -1 (log y)))
(- (* x (+ (log (* -1 x)) (log (/ -1 y)))) z)
(* x (+ (log (* -1 x)) (log (/ -1 y))))
(+ (log (* -1 x)) (log (/ -1 y)))
(* x (log (/ x y)))
(+ (* -1 z) (* x (log (/ x y))))
(* z (- (/ (* x (log (/ x y))) z) 1))
(* -1 (* z (+ 1 (* -1 (/ (* x (log (/ x y))) z)))))
Calls

9 calls:

TimeVariablePointExpression
12.0ms
x
@0
((- (* x (log (/ x y))) z) (* x (log (/ x y))) (log (/ x y)) (- (* x (log (/ x y))) z) (- (* x (log (/ x y))) z) (* x (log (/ x y))) (log (/ x y)) (- (* x (log (/ x y))) z) (* x (log (/ x y))) (log (/ x y)) (log (/ x y)))
11.0ms
x
@-inf
((- (* x (log (/ x y))) z) (* x (log (/ x y))) (log (/ x y)) (- (* x (log (/ x y))) z) (- (* x (log (/ x y))) z) (* x (log (/ x y))) (log (/ x y)) (- (* x (log (/ x y))) z) (* x (log (/ x y))) (log (/ x y)) (log (/ x y)))
9.0ms
y
@-inf
((- (* x (log (/ x y))) z) (* x (log (/ x y))) (log (/ x y)) (- (* x (log (/ x y))) z) (- (* x (log (/ x y))) z) (* x (log (/ x y))) (log (/ x y)) (- (* x (log (/ x y))) z) (* x (log (/ x y))) (log (/ x y)) (log (/ x y)))
8.0ms
x
@inf
((- (* x (log (/ x y))) z) (* x (log (/ x y))) (log (/ x y)) (- (* x (log (/ x y))) z) (- (* x (log (/ x y))) z) (* x (log (/ x y))) (log (/ x y)) (- (* x (log (/ x y))) z) (* x (log (/ x y))) (log (/ x y)) (log (/ x y)))
7.0ms
y
@0
((- (* x (log (/ x y))) z) (* x (log (/ x y))) (log (/ x y)) (- (* x (log (/ x y))) z) (- (* x (log (/ x y))) z) (* x (log (/ x y))) (log (/ x y)) (- (* x (log (/ x y))) z) (* x (log (/ x y))) (log (/ x y)) (log (/ x y)))

simplify1.0ms (0%)

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

rewrite1.0ms (0.1%)

Memory
1.4MiB live, 1.4MiB allocated
Counts
11 → 11
Calls
Call 1
Inputs
#s(approx (- (* x (log (/ x y))) z) (*.f64 x #s(approx (log (/ x y)) #s(approx (- (* x (log (/ x y))) z) (*.f64 x #s(approx (log (/ x y)) (*.f64 x #s(approx (log (/ x y)) (/.f64 x y)))))))))
(*.f64 x #s(approx (log (/ x y)) #s(approx (- (* x (log (/ x y))) z) (*.f64 x #s(approx (log (/ x y)) (*.f64 x #s(approx (log (/ x y)) (/.f64 x y))))))))
#s(approx (log (/ x y)) #s(approx (- (* x (log (/ x y))) z) (*.f64 x #s(approx (log (/ x y)) (*.f64 x #s(approx (log (/ x y)) (/.f64 x y)))))))
#s(approx (- (* x (log (/ x y))) z) (*.f64 x #s(approx (log (/ x y)) (*.f64 x #s(approx (log (/ x y)) (/.f64 x y))))))
#s(approx (- (* x (log (/ x y))) z) (*.f64 x #s(approx (log (/ x y)) (*.f64 x #s(approx (log (/ x y)) #s(approx (- (* x (log (/ x y))) z) (*.f64 x #s(approx (log (/ x y)) (*.f64 x #s(approx (log (/ x y)) (/.f64 x y)))))))))))
(*.f64 x #s(approx (log (/ x y)) (*.f64 x #s(approx (log (/ x y)) #s(approx (- (* x (log (/ x y))) z) (*.f64 x #s(approx (log (/ x y)) (*.f64 x #s(approx (log (/ x y)) (/.f64 x y))))))))))
#s(approx (log (/ x y)) (*.f64 x #s(approx (log (/ x y)) #s(approx (- (* x (log (/ x y))) z) (*.f64 x #s(approx (log (/ x y)) (*.f64 x #s(approx (log (/ x y)) (/.f64 x y)))))))))
(-.f64 #s(approx (* x (log (/ x y))) #s(approx (log (/ x y)) #s(approx (- (* x (log (/ x y))) z) (*.f64 x #s(approx (log (/ x y)) (*.f64 x #s(approx (log (/ x y)) (/.f64 x y)))))))) z)
#s(approx (* x (log (/ x y))) #s(approx (log (/ x y)) #s(approx (- (* x (log (/ x y))) z) (*.f64 x #s(approx (log (/ x y)) (*.f64 x #s(approx (log (/ x y)) (/.f64 x y))))))))
#s(approx (log (/ x y)) (*.f64 x #s(approx (log (/ x y)) (/.f64 x y))))
#s(approx (log (/ x y)) (/.f64 x y))
Outputs
#s(approx (- (* x (log (/ x y))) z) (*.f64 x #s(approx (log (/ x y)) #s(approx (- (* x (log (/ x y))) z) (*.f64 x #s(approx (log (/ x y)) (*.f64 x #s(approx (log (/ x y)) (/.f64 x y)))))))))
(*.f64 x #s(approx (log (/ x y)) #s(approx (- (* x (log (/ x y))) z) (*.f64 x #s(approx (log (/ x y)) (*.f64 x #s(approx (log (/ x y)) (/.f64 x y))))))))
#s(approx (log (/ x y)) #s(approx (- (* x (log (/ x y))) z) (*.f64 x #s(approx (log (/ x y)) (*.f64 x #s(approx (log (/ x y)) (/.f64 x y)))))))
#s(approx (- (* x (log (/ x y))) z) (*.f64 x #s(approx (log (/ x y)) (*.f64 x #s(approx (log (/ x y)) (/.f64 x y))))))
#s(approx (- (* x (log (/ x y))) z) (*.f64 x #s(approx (log (/ x y)) (*.f64 x #s(approx (log (/ x y)) #s(approx (- (* x (log (/ x y))) z) (*.f64 x #s(approx (log (/ x y)) (*.f64 x #s(approx (log (/ x y)) (/.f64 x y)))))))))))
(*.f64 x #s(approx (log (/ x y)) (*.f64 x #s(approx (log (/ x y)) #s(approx (- (* x (log (/ x y))) z) (*.f64 x #s(approx (log (/ x y)) (*.f64 x #s(approx (log (/ x y)) (/.f64 x y))))))))))
#s(approx (log (/ x y)) (*.f64 x #s(approx (log (/ x y)) #s(approx (- (* x (log (/ x y))) z) (*.f64 x #s(approx (log (/ x y)) (*.f64 x #s(approx (log (/ x y)) (/.f64 x y)))))))))
(-.f64 #s(approx (* x (log (/ x y))) #s(approx (log (/ x y)) #s(approx (- (* x (log (/ x y))) z) (*.f64 x #s(approx (log (/ x y)) (*.f64 x #s(approx (log (/ x y)) (/.f64 x y)))))))) z)
#s(approx (* x (log (/ x y))) #s(approx (log (/ x y)) #s(approx (- (* x (log (/ x y))) z) (*.f64 x #s(approx (log (/ x y)) (*.f64 x #s(approx (log (/ x y)) (/.f64 x y))))))))
#s(approx (log (/ x y)) (*.f64 x #s(approx (log (/ x y)) (/.f64 x y))))
#s(approx (log (/ x y)) (/.f64 x y))

eval3.0ms (0.2%)

Memory
6.3MiB live, 6.3MiB allocated
Compiler

Compiled 1 432 to 45 computations (96.9% saved)

prune9.0ms (0.5%)

Memory
-23.5MiB live, 15.1MiB allocated
Pruning

14 alts after pruning (2 fresh and 12 done)

PrunedKeptTotal
New30232
Fresh000
Picked033
Done099
Total301444
Accuracy
87.1%
Counts
44 → 14
Alt Table
Click to see full alt table
StatusAccuracyProgram
77.7%
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)
41.1%
(-.f64 (*.f64 x #s(approx (log (/ x y)) (/.f64 x y))) z)
30.8%
(-.f64 #s(approx (* x (log (/ x y))) (log.f64 (/.f64 x y))) z)
37.9%
(-.f64 #s(approx (* x (log (/ x y))) #s(approx (log (/ x y)) (/.f64 x y))) z)
41.6%
(-.f64 #s(approx (* x (log (/ x y))) #s(approx (log (/ x y)) #s(approx (- (* x (log (/ x y))) z) (*.f64 x #s(approx (log (/ x y)) (*.f64 x #s(approx (log (/ x y)) (/.f64 x y)))))))) z)
43.0%
(-.f64 #s(approx (* x (log (/ x y))) #s(approx (log (/ x y)) #s(approx (log (/ x y)) (*.f64 x #s(approx (log (/ x y)) #s(approx (- (* x (log (/ x y))) z) (*.f64 x #s(approx (log (/ x y)) (*.f64 x #s(approx (log (/ x y)) (/.f64 x y))))))))))) z)
41.1%
#s(approx (- (* x (log (/ x y))) z) (*.f64 x (log.f64 (/.f64 x y))))
5.0%
#s(approx (- (* x (log (/ x y))) z) (*.f64 x #s(approx (log (/ x y)) (/.f64 x y))))
4.0%
#s(approx (- (* x (log (/ x y))) z) (*.f64 x #s(approx (log (/ x y)) (*.f64 x #s(approx (log (/ x y)) (/.f64 x y))))))
3.9%
#s(approx (- (* x (log (/ x y))) z) (*.f64 x #s(approx (log (/ x y)) (*.f64 x #s(approx (log (/ x y)) #s(approx (- (* x (log (/ x y))) z) (*.f64 x #s(approx (log (/ x y)) (*.f64 x #s(approx (log (/ x y)) (/.f64 x y)))))))))))
4.8%
#s(approx (- (* x (log (/ x y))) z) (*.f64 x #s(approx (log (/ x y)) (*.f64 x #s(approx (log (/ x y)) #s(approx (log (/ x y)) (*.f64 x #s(approx (log (/ x y)) #s(approx (- (* x (log (/ x y))) z) (*.f64 x #s(approx (log (/ x y)) (*.f64 x #s(approx (log (/ x y)) (/.f64 x y))))))))))))))
4.8%
#s(approx (- (* x (log (/ x y))) z) (*.f64 x #s(approx (log (/ x y)) #s(approx (- (* x (log (/ x y))) z) (*.f64 x #s(approx (log (/ x y)) (*.f64 x #s(approx (log (/ x y)) (/.f64 x y)))))))))
3.0%
#s(approx (- (* x (log (/ x y))) z) #s(approx (* x (log (/ x y))) (log.f64 (/.f64 x y))))
3.4%
#s(approx (- (* x (log (/ x y))) z) #s(approx (log (/ x y)) (/.f64 x y)))
Compiler

Compiled 782 to 222 computations (71.6% saved)

regimes25.0ms (1.4%)

Memory
6.7MiB live, 45.2MiB allocated
Counts
14 → 3
Calls
Call 1
Inputs
#s(approx (- (* x (log (/ x y))) z) #s(approx (log (/ x y)) (/.f64 x y)))
(-.f64 #s(approx (* x (log (/ x y))) #s(approx (log (/ x y)) (/.f64 x y))) z)
#s(approx (- (* x (log (/ x y))) z) (*.f64 x #s(approx (log (/ x y)) (/.f64 x y))))
(-.f64 (*.f64 x #s(approx (log (/ x y)) (/.f64 x y))) z)
#s(approx (- (* x (log (/ x y))) z) (*.f64 x #s(approx (log (/ x y)) (*.f64 x #s(approx (log (/ x y)) (/.f64 x y))))))
(-.f64 #s(approx (* x (log (/ x y))) #s(approx (log (/ x y)) #s(approx (- (* x (log (/ x y))) z) (*.f64 x #s(approx (log (/ x y)) (*.f64 x #s(approx (log (/ x y)) (/.f64 x y)))))))) z)
#s(approx (- (* x (log (/ x y))) z) (*.f64 x #s(approx (log (/ x y)) #s(approx (- (* x (log (/ x y))) z) (*.f64 x #s(approx (log (/ x y)) (*.f64 x #s(approx (log (/ x y)) (/.f64 x y)))))))))
(-.f64 #s(approx (* x (log (/ x y))) #s(approx (log (/ x y)) #s(approx (log (/ x y)) (*.f64 x #s(approx (log (/ x y)) #s(approx (- (* x (log (/ x y))) z) (*.f64 x #s(approx (log (/ x y)) (*.f64 x #s(approx (log (/ x y)) (/.f64 x y))))))))))) z)
#s(approx (- (* x (log (/ x y))) z) (*.f64 x #s(approx (log (/ x y)) (*.f64 x #s(approx (log (/ x y)) #s(approx (- (* x (log (/ x y))) z) (*.f64 x #s(approx (log (/ x y)) (*.f64 x #s(approx (log (/ x y)) (/.f64 x y)))))))))))
#s(approx (- (* x (log (/ x y))) z) (*.f64 x #s(approx (log (/ x y)) (*.f64 x #s(approx (log (/ x y)) #s(approx (log (/ x y)) (*.f64 x #s(approx (log (/ x y)) #s(approx (- (* x (log (/ x y))) z) (*.f64 x #s(approx (log (/ x y)) (*.f64 x #s(approx (log (/ x y)) (/.f64 x y))))))))))))))
#s(approx (- (* x (log (/ x y))) z) #s(approx (* x (log (/ x y))) (log.f64 (/.f64 x y))))
(-.f64 #s(approx (* x (log (/ x y))) (log.f64 (/.f64 x y))) z)
#s(approx (- (* x (log (/ x y))) z) (*.f64 x (log.f64 (/.f64 x y))))
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)
Outputs
(-.f64 (*.f64 x #s(approx (log (/ x y)) (/.f64 x y))) z)
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)
(-.f64 (*.f64 x #s(approx (log (/ x y)) (/.f64 x y))) z)
Calls

5 calls:

6.0ms
y
5.0ms
x
5.0ms
z
4.0ms
(*.f64 x (log.f64 (/.f64 x y)))
4.0ms
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)
Results
AccuracySegmentsBranch
84.5%3x
77.7%1y
79.4%2z
87.1%3(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)
87.1%3(*.f64 x (log.f64 (/.f64 x y)))
Compiler

Compiled 17 to 22 computations (-29.4% saved)

regimes23.0ms (1.3%)

Memory
0.6MiB live, 39.3MiB allocated
Counts
13 → 3
Calls
Call 1
Inputs
#s(approx (- (* x (log (/ x y))) z) #s(approx (log (/ x y)) (/.f64 x y)))
(-.f64 #s(approx (* x (log (/ x y))) #s(approx (log (/ x y)) (/.f64 x y))) z)
#s(approx (- (* x (log (/ x y))) z) (*.f64 x #s(approx (log (/ x y)) (/.f64 x y))))
(-.f64 (*.f64 x #s(approx (log (/ x y)) (/.f64 x y))) z)
#s(approx (- (* x (log (/ x y))) z) (*.f64 x #s(approx (log (/ x y)) (*.f64 x #s(approx (log (/ x y)) (/.f64 x y))))))
(-.f64 #s(approx (* x (log (/ x y))) #s(approx (log (/ x y)) #s(approx (- (* x (log (/ x y))) z) (*.f64 x #s(approx (log (/ x y)) (*.f64 x #s(approx (log (/ x y)) (/.f64 x y)))))))) z)
#s(approx (- (* x (log (/ x y))) z) (*.f64 x #s(approx (log (/ x y)) #s(approx (- (* x (log (/ x y))) z) (*.f64 x #s(approx (log (/ x y)) (*.f64 x #s(approx (log (/ x y)) (/.f64 x y)))))))))
(-.f64 #s(approx (* x (log (/ x y))) #s(approx (log (/ x y)) #s(approx (log (/ x y)) (*.f64 x #s(approx (log (/ x y)) #s(approx (- (* x (log (/ x y))) z) (*.f64 x #s(approx (log (/ x y)) (*.f64 x #s(approx (log (/ x y)) (/.f64 x y))))))))))) z)
#s(approx (- (* x (log (/ x y))) z) (*.f64 x #s(approx (log (/ x y)) (*.f64 x #s(approx (log (/ x y)) #s(approx (- (* x (log (/ x y))) z) (*.f64 x #s(approx (log (/ x y)) (*.f64 x #s(approx (log (/ x y)) (/.f64 x y)))))))))))
#s(approx (- (* x (log (/ x y))) z) (*.f64 x #s(approx (log (/ x y)) (*.f64 x #s(approx (log (/ x y)) #s(approx (log (/ x y)) (*.f64 x #s(approx (log (/ x y)) #s(approx (- (* x (log (/ x y))) z) (*.f64 x #s(approx (log (/ x y)) (*.f64 x #s(approx (log (/ x y)) (/.f64 x y))))))))))))))
#s(approx (- (* x (log (/ x y))) z) #s(approx (* x (log (/ x y))) (log.f64 (/.f64 x y))))
(-.f64 #s(approx (* x (log (/ x y))) (log.f64 (/.f64 x y))) z)
#s(approx (- (* x (log (/ x y))) z) (*.f64 x (log.f64 (/.f64 x y))))
Outputs
#s(approx (- (* x (log (/ x y))) z) (*.f64 x (log.f64 (/.f64 x y))))
(-.f64 #s(approx (* x (log (/ x y))) #s(approx (log (/ x y)) #s(approx (log (/ x y)) (*.f64 x #s(approx (log (/ x y)) #s(approx (- (* x (log (/ x y))) z) (*.f64 x #s(approx (log (/ x y)) (*.f64 x #s(approx (log (/ x y)) (/.f64 x y))))))))))) z)
#s(approx (- (* x (log (/ x y))) z) (*.f64 x (log.f64 (/.f64 x y))))
Calls

5 calls:

5.0ms
z
4.0ms
y
4.0ms
x
4.0ms
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)
4.0ms
(*.f64 x (log.f64 (/.f64 x y)))
Results
AccuracySegmentsBranch
52.9%4y
63.0%3z
71.0%3x
58.3%4(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)
70.4%5(*.f64 x (log.f64 (/.f64 x y)))
Compiler

Compiled 17 to 22 computations (-29.4% saved)

regimes22.0ms (1.3%)

Memory
1.1MiB live, 42.5MiB allocated
Counts
12 → 2
Calls
Call 1
Inputs
#s(approx (- (* x (log (/ x y))) z) #s(approx (log (/ x y)) (/.f64 x y)))
(-.f64 #s(approx (* x (log (/ x y))) #s(approx (log (/ x y)) (/.f64 x y))) z)
#s(approx (- (* x (log (/ x y))) z) (*.f64 x #s(approx (log (/ x y)) (/.f64 x y))))
(-.f64 (*.f64 x #s(approx (log (/ x y)) (/.f64 x y))) z)
#s(approx (- (* x (log (/ x y))) z) (*.f64 x #s(approx (log (/ x y)) (*.f64 x #s(approx (log (/ x y)) (/.f64 x y))))))
(-.f64 #s(approx (* x (log (/ x y))) #s(approx (log (/ x y)) #s(approx (- (* x (log (/ x y))) z) (*.f64 x #s(approx (log (/ x y)) (*.f64 x #s(approx (log (/ x y)) (/.f64 x y)))))))) z)
#s(approx (- (* x (log (/ x y))) z) (*.f64 x #s(approx (log (/ x y)) #s(approx (- (* x (log (/ x y))) z) (*.f64 x #s(approx (log (/ x y)) (*.f64 x #s(approx (log (/ x y)) (/.f64 x y)))))))))
(-.f64 #s(approx (* x (log (/ x y))) #s(approx (log (/ x y)) #s(approx (log (/ x y)) (*.f64 x #s(approx (log (/ x y)) #s(approx (- (* x (log (/ x y))) z) (*.f64 x #s(approx (log (/ x y)) (*.f64 x #s(approx (log (/ x y)) (/.f64 x y))))))))))) z)
#s(approx (- (* x (log (/ x y))) z) (*.f64 x #s(approx (log (/ x y)) (*.f64 x #s(approx (log (/ x y)) #s(approx (- (* x (log (/ x y))) z) (*.f64 x #s(approx (log (/ x y)) (*.f64 x #s(approx (log (/ x y)) (/.f64 x y)))))))))))
#s(approx (- (* x (log (/ x y))) z) (*.f64 x #s(approx (log (/ x y)) (*.f64 x #s(approx (log (/ x y)) #s(approx (log (/ x y)) (*.f64 x #s(approx (log (/ x y)) #s(approx (- (* x (log (/ x y))) z) (*.f64 x #s(approx (log (/ x y)) (*.f64 x #s(approx (log (/ x y)) (/.f64 x y))))))))))))))
#s(approx (- (* x (log (/ x y))) z) #s(approx (* x (log (/ x y))) (log.f64 (/.f64 x y))))
(-.f64 #s(approx (* x (log (/ x y))) (log.f64 (/.f64 x y))) z)
Outputs
(-.f64 #s(approx (* x (log (/ x y))) #s(approx (log (/ x y)) #s(approx (log (/ x y)) (*.f64 x #s(approx (log (/ x y)) #s(approx (- (* x (log (/ x y))) z) (*.f64 x #s(approx (log (/ x y)) (*.f64 x #s(approx (log (/ x y)) (/.f64 x y))))))))))) z)
(-.f64 #s(approx (* x (log (/ x y))) (log.f64 (/.f64 x y))) z)
Calls

5 calls:

6.0ms
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)
4.0ms
x
4.0ms
y
4.0ms
z
4.0ms
(*.f64 x (log.f64 (/.f64 x y)))
Results
AccuracySegmentsBranch
43.0%1y
43.0%1(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)
43.0%1z
46.2%3(*.f64 x (log.f64 (/.f64 x y)))
46.0%2x
Compiler

Compiled 17 to 22 computations (-29.4% saved)

regimes13.0ms (0.7%)

Memory
-14.0MiB live, 25.0MiB allocated
Counts
11 → 1
Calls
Call 1
Inputs
#s(approx (- (* x (log (/ x y))) z) #s(approx (log (/ x y)) (/.f64 x y)))
(-.f64 #s(approx (* x (log (/ x y))) #s(approx (log (/ x y)) (/.f64 x y))) z)
#s(approx (- (* x (log (/ x y))) z) (*.f64 x #s(approx (log (/ x y)) (/.f64 x y))))
(-.f64 (*.f64 x #s(approx (log (/ x y)) (/.f64 x y))) z)
#s(approx (- (* x (log (/ x y))) z) (*.f64 x #s(approx (log (/ x y)) (*.f64 x #s(approx (log (/ x y)) (/.f64 x y))))))
(-.f64 #s(approx (* x (log (/ x y))) #s(approx (log (/ x y)) #s(approx (- (* x (log (/ x y))) z) (*.f64 x #s(approx (log (/ x y)) (*.f64 x #s(approx (log (/ x y)) (/.f64 x y)))))))) z)
#s(approx (- (* x (log (/ x y))) z) (*.f64 x #s(approx (log (/ x y)) #s(approx (- (* x (log (/ x y))) z) (*.f64 x #s(approx (log (/ x y)) (*.f64 x #s(approx (log (/ x y)) (/.f64 x y)))))))))
(-.f64 #s(approx (* x (log (/ x y))) #s(approx (log (/ x y)) #s(approx (log (/ x y)) (*.f64 x #s(approx (log (/ x y)) #s(approx (- (* x (log (/ x y))) z) (*.f64 x #s(approx (log (/ x y)) (*.f64 x #s(approx (log (/ x y)) (/.f64 x y))))))))))) z)
#s(approx (- (* x (log (/ x y))) z) (*.f64 x #s(approx (log (/ x y)) (*.f64 x #s(approx (log (/ x y)) #s(approx (- (* x (log (/ x y))) z) (*.f64 x #s(approx (log (/ x y)) (*.f64 x #s(approx (log (/ x y)) (/.f64 x y)))))))))))
#s(approx (- (* x (log (/ x y))) z) (*.f64 x #s(approx (log (/ x y)) (*.f64 x #s(approx (log (/ x y)) #s(approx (log (/ x y)) (*.f64 x #s(approx (log (/ x y)) #s(approx (- (* x (log (/ x y))) z) (*.f64 x #s(approx (log (/ x y)) (*.f64 x #s(approx (log (/ x y)) (/.f64 x y))))))))))))))
#s(approx (- (* x (log (/ x y))) z) #s(approx (* x (log (/ x y))) (log.f64 (/.f64 x y))))
Outputs
(-.f64 #s(approx (* x (log (/ x y))) #s(approx (log (/ x y)) #s(approx (log (/ x y)) (*.f64 x #s(approx (log (/ x y)) #s(approx (- (* x (log (/ x y))) z) (*.f64 x #s(approx (log (/ x y)) (*.f64 x #s(approx (log (/ x y)) (/.f64 x y))))))))))) z)
Calls

3 calls:

4.0ms
x
4.0ms
z
3.0ms
(*.f64 x (log.f64 (/.f64 x y)))
Results
AccuracySegmentsBranch
43.0%1z
43.0%1(*.f64 x (log.f64 (/.f64 x y)))
43.0%1x
Compiler

Compiled 8 to 12 computations (-50% saved)

regimes14.0ms (0.8%)

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

5 calls:

3.0ms
z
3.0ms
x
3.0ms
y
3.0ms
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)
3.0ms
(*.f64 x (log.f64 (/.f64 x y)))
Results
AccuracySegmentsBranch
41.6%1x
41.6%1y
41.6%1(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)
41.6%1(*.f64 x (log.f64 (/.f64 x y)))
41.6%1z
Compiler

Compiled 17 to 22 computations (-29.4% saved)

regimes12.0ms (0.7%)

Memory
-13.5MiB live, 25.4MiB allocated
Counts
5 → 1
Calls
Call 1
Inputs
#s(approx (- (* x (log (/ x y))) z) #s(approx (log (/ x y)) (/.f64 x y)))
(-.f64 #s(approx (* x (log (/ x y))) #s(approx (log (/ x y)) (/.f64 x y))) z)
#s(approx (- (* x (log (/ x y))) z) (*.f64 x #s(approx (log (/ x y)) (/.f64 x y))))
(-.f64 (*.f64 x #s(approx (log (/ x y)) (/.f64 x y))) z)
#s(approx (- (* x (log (/ x y))) z) (*.f64 x #s(approx (log (/ x y)) (*.f64 x #s(approx (log (/ x y)) (/.f64 x y))))))
Outputs
(-.f64 (*.f64 x #s(approx (log (/ x y)) (/.f64 x y))) z)
Calls

5 calls:

3.0ms
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)
2.0ms
z
2.0ms
x
2.0ms
y
2.0ms
(*.f64 x (log.f64 (/.f64 x y)))
Results
AccuracySegmentsBranch
41.1%1y
41.1%1x
41.1%1(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)
41.1%1(*.f64 x (log.f64 (/.f64 x y)))
41.1%1z
Compiler

Compiled 17 to 22 computations (-29.4% saved)

regimes9.0ms (0.5%)

Memory
20.4MiB live, 20.4MiB allocated
Counts
3 → 1
Calls
Call 1
Inputs
#s(approx (- (* x (log (/ x y))) z) #s(approx (log (/ x y)) (/.f64 x y)))
(-.f64 #s(approx (* x (log (/ x y))) #s(approx (log (/ x y)) (/.f64 x y))) z)
#s(approx (- (* x (log (/ x y))) z) (*.f64 x #s(approx (log (/ x y)) (/.f64 x y))))
Outputs
(-.f64 #s(approx (* x (log (/ x y))) #s(approx (log (/ x y)) (/.f64 x y))) z)
Calls

5 calls:

2.0ms
z
2.0ms
y
2.0ms
x
2.0ms
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)
2.0ms
(*.f64 x (log.f64 (/.f64 x y)))
Results
AccuracySegmentsBranch
37.9%1y
37.9%1x
37.9%1z
37.9%1(*.f64 x (log.f64 (/.f64 x y)))
37.9%1(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)
Compiler

Compiled 17 to 22 computations (-29.4% saved)

regimes7.0ms (0.4%)

Memory
-23.3MiB live, 15.9MiB allocated
Counts
1 → 1
Calls
Call 1
Inputs
#s(approx (- (* x (log (/ x y))) z) #s(approx (log (/ x y)) (/.f64 x y)))
Outputs
#s(approx (- (* x (log (/ x y))) z) #s(approx (log (/ x y)) (/.f64 x y)))
Calls

5 calls:

1.0ms
(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)
1.0ms
z
1.0ms
x
1.0ms
y
1.0ms
(*.f64 x (log.f64 (/.f64 x y)))
Results
AccuracySegmentsBranch
3.4%1z
3.4%1y
3.4%1(-.f64 (*.f64 x (log.f64 (/.f64 x y))) z)
3.4%1x
3.4%1(*.f64 x (log.f64 (/.f64 x y)))
Compiler

Compiled 17 to 22 computations (-29.4% saved)

bsearch1.0ms (0%)

Memory
1.0MiB live, 1.0MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
5.0599146426720156e+305
+inf
0.0ms
-inf
-4.28614836472302e+305
Compiler

Compiled 11 to 13 computations (-18.2% saved)

bsearch53.0ms (3.1%)

Memory
0.6MiB live, 83.0MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
23.0ms
0.020180010404613032
228.57131697937461
26.0ms
-1.9481878219012702e-41
-1.3977617397735827e-45
Samples
17.0ms262×0invalid
16.0ms256×0valid
Compiler

Compiled 1 083 to 525 computations (51.5% saved)

Precisions
Click to see histograms. Total time spent on operations: 19.0ms
ival-mult: 7.0ms (36.4% of total)
ival-log: 5.0ms (26% of total)
ival-div: 4.0ms (20.8% of total)
ival-sub: 2.0ms (10.4% of total)
ival-true: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

bsearch25.0ms (1.4%)

Memory
5.0MiB live, 43.9MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
23.0ms
3.3928424484712864e-57
5.5843623941895336e-55
Samples
8.0ms112×0valid
7.0ms130×0invalid
Compiler

Compiled 466 to 230 computations (50.6% saved)

Precisions
Click to see histograms. Total time spent on operations: 9.0ms
ival-div: 4.0ms (43.4% of total)
ival-log: 2.0ms (21.7% of total)
ival-mult: 2.0ms (21.7% of total)
ival-sub: 1.0ms (10.9% of total)
ival-true: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

simplify4.0ms (0.2%)

Memory
11.2MiB live, 11.2MiB allocated

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...