Data.HyperLogLog.Config:hll from hyperloglog-0.3.4

Time bar (total: 1.9s)

start0.0ms (0%)

Memory
0.1MiB live, 0.1MiB allocated

analyze0.0ms (0%)

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

Compiled 7 to 6 computations (14.3% saved)

sample710.0ms (36.7%)

Memory
-18.0MiB live, 799.0MiB allocated
Samples
438.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 177.0ms
ival-mult: 168.0ms (94.7% of total)
ival-true: 6.0ms (3.4% of total)
ival-assert: 3.0ms (1.7% of total)
Bogosity

explain59.0ms (3%)

Memory
-17.4MiB live, 72.2MiB allocated
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
00-0-y
00-0-(*.f64 (*.f64 x y) y)
00-0-(*.f64 x y)
00-0-x
Confusion
Predicted +Predicted -
+00
-0256
Precision
0/0
Recall
0/0
Confusion?
Predicted +Predicted MaybePredicted -
+000
-00256
Precision?
0/0
Recall?
0/0
Freqs
test
numberfreq
0256
Total Confusion?
Predicted +Predicted MaybePredicted -
+000
-001
Precision?
0/0
Recall?
0/0
Samples
18.0ms512×0valid
Compiler

Compiled 29 to 16 computations (44.8% saved)

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

preprocess19.0ms (1%)

Memory
25.8MiB live, 25.8MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01231
13627
28327
313827
421327
527227
045
065
1105
2155
3365
4725
51045
61265
71405
01405
Stop Event
iter limit
saturated
iter limit
saturated
Calls
Call 1
Inputs
(*.f64 (*.f64 x y) y)
Outputs
(*.f64 (*.f64 x y) y)
(*.f64 (*.f64 y y) x)
Symmetry

(abs y)

(negabs x)

Compiler

Compiled 5 to 4 computations (20% saved)

eval0.0ms (0%)

Memory
0.1MiB live, 0.1MiB allocated
Compiler

Compiled 0 to 2 computations (-∞% saved)

prune0.0ms (0%)

Memory
0.4MiB live, 0.4MiB allocated
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.8%
(*.f64 (*.f64 x y) y)
Compiler

Compiled 5 to 4 computations (20% saved)

simplify5.0ms (0.3%)

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

Found 2 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 x y)
cost-diff0
(*.f64 (*.f64 x y) y)
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0410
0610
11010
21510
33610
47210
510410
612610
714010
014010
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
(*.f64 (*.f64 x y) y)
(*.f64 x y)
x
y
Outputs
(*.f64 (*.f64 x y) y)
(*.f64 (*.f64 y y) x)
(*.f64 x y)
(*.f64 y x)
x
y

localize12.0ms (0.6%)

Memory
10.9MiB live, 10.9MiB allocated
Localize:

Found 2 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(*.f64 x y)
accuracy0.11328125
(*.f64 (*.f64 x y) y)
Samples
8.0ms256×0valid
Compiler

Compiled 12 to 6 computations (50% saved)

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

series9.0ms (0.5%)

Memory
-31.9MiB live, 13.8MiB allocated
Counts
2 → 2
Calls
Call 1
Inputs
(*.f64 (*.f64 x y) y)
(*.f64 x y)
Outputs
(* x (pow y 2))
(* x y)
Calls

6 calls:

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

simplify5.0ms (0.2%)

Memory
5.5MiB live, 5.5MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
068
1118
2198
3408
4808
51128
61348
71488
01488
Stop Event
iter limit
saturated
Counts
2 → 2
Calls
Call 1
Inputs
(* x (pow y 2))
(* x y)
Outputs
(* x (pow y 2))
(*.f64 (*.f64 y x) y)
(* x y)
(*.f64 y x)

rewrite159.0ms (8.2%)

Memory
0.6MiB live, 193.3MiB allocated
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
048
068
1108
2178
3488
41378
53778
617038
090198
Stop Event
iter limit
node limit
iter limit
Counts
2 → 89
Calls
Call 1
Inputs
(*.f64 (*.f64 x y) y)
(*.f64 x y)
Outputs
(*.f64 (*.f64 (*.f64 (pow.f64 y #s(literal 3/2 binary64)) x) (pow.f64 y #s(literal 1/4 binary64))) (pow.f64 y #s(literal 1/4 binary64)))
(*.f64 (*.f64 (neg.f64 x) (sqrt.f64 y)) (pow.f64 y #s(literal 3/2 binary64)))
(*.f64 (neg.f64 (neg.f64 x)) (*.f64 y y))
(*.f64 (*.f64 (sqrt.f64 y) x) (pow.f64 y #s(literal 3/2 binary64)))
(*.f64 (*.f64 (pow.f64 y #s(literal 3/2 binary64)) x) (sqrt.f64 y))
(*.f64 (pow.f64 y #s(literal 3/2 binary64)) (*.f64 (sqrt.f64 y) (neg.f64 x)))
(*.f64 (pow.f64 y #s(literal 3/2 binary64)) (*.f64 (sqrt.f64 y) x))
(*.f64 (neg.f64 x) (*.f64 y y))
(*.f64 (pow.f64 y #s(literal 1/4 binary64)) (*.f64 (pow.f64 y #s(literal 1/4 binary64)) (*.f64 (pow.f64 y #s(literal 3/2 binary64)) x)))
(*.f64 (sqrt.f64 y) (*.f64 (pow.f64 y #s(literal 3/2 binary64)) x))
(*.f64 (*.f64 y y) (neg.f64 (neg.f64 x)))
(*.f64 (*.f64 y y) (neg.f64 x))
(*.f64 (*.f64 y y) x)
(*.f64 (*.f64 y x) y)
(*.f64 y (*.f64 y x))
(*.f64 x (*.f64 y y))
(/.f64 (fma.f64 (*.f64 (-.f64 (*.f64 y y) (pow.f64 y #s(literal -2 binary64))) x) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (*.f64 (fma.f64 y y (pow.f64 y #s(literal -2 binary64))) x))) #s(literal 4 binary64))
(/.f64 (fma.f64 (*.f64 (-.f64 (*.f64 y y) (pow.f64 y #s(literal -2 binary64))) x) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (*.f64 x (fma.f64 y y (pow.f64 y #s(literal -2 binary64)))))) #s(literal 4 binary64))
(/.f64 (fma.f64 (*.f64 x (-.f64 (*.f64 y y) (pow.f64 y #s(literal -2 binary64)))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (*.f64 (fma.f64 y y (pow.f64 y #s(literal -2 binary64))) x))) #s(literal 4 binary64))
(/.f64 (fma.f64 (*.f64 x (-.f64 (*.f64 y y) (pow.f64 y #s(literal -2 binary64)))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (*.f64 x (fma.f64 y y (pow.f64 y #s(literal -2 binary64)))))) #s(literal 4 binary64))
(/.f64 (fma.f64 (*.f64 (fma.f64 y y (pow.f64 y #s(literal -2 binary64))) x) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (*.f64 (-.f64 (*.f64 y y) (pow.f64 y #s(literal -2 binary64))) x))) #s(literal 4 binary64))
(/.f64 (fma.f64 (*.f64 (fma.f64 y y (pow.f64 y #s(literal -2 binary64))) x) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (*.f64 x (-.f64 (*.f64 y y) (pow.f64 y #s(literal -2 binary64)))))) #s(literal 4 binary64))
(/.f64 (fma.f64 (*.f64 x (fma.f64 y y (pow.f64 y #s(literal -2 binary64)))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (*.f64 (-.f64 (*.f64 y y) (pow.f64 y #s(literal -2 binary64))) x))) #s(literal 4 binary64))
(/.f64 (fma.f64 (*.f64 x (fma.f64 y y (pow.f64 y #s(literal -2 binary64)))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (*.f64 x (-.f64 (*.f64 y y) (pow.f64 y #s(literal -2 binary64)))))) #s(literal 4 binary64))
(/.f64 (*.f64 #s(literal 1 binary64) (neg.f64 x)) (pow.f64 y #s(literal -2 binary64)))
(/.f64 (*.f64 (+.f64 (pow.f64 (sinh.f64 (*.f64 (log.f64 y) #s(literal 2 binary64))) #s(literal 3 binary64)) (pow.f64 (cosh.f64 (*.f64 #s(literal -2 binary64) (log.f64 y))) #s(literal 3 binary64))) (neg.f64 x)) (-.f64 (cosh.f64 (*.f64 #s(literal 4 binary64) (log.f64 y))) (*.f64 (sinh.f64 (*.f64 (log.f64 y) #s(literal 2 binary64))) (cosh.f64 (*.f64 #s(literal -2 binary64) (log.f64 y))))))
(/.f64 (*.f64 #s(literal 1 binary64) x) (pow.f64 y #s(literal -2 binary64)))
(/.f64 (*.f64 (+.f64 (pow.f64 (sinh.f64 (*.f64 (log.f64 y) #s(literal 2 binary64))) #s(literal 3 binary64)) (pow.f64 (cosh.f64 (*.f64 #s(literal -2 binary64) (log.f64 y))) #s(literal 3 binary64))) x) (-.f64 (cosh.f64 (*.f64 #s(literal 4 binary64) (log.f64 y))) (*.f64 (sinh.f64 (*.f64 (log.f64 y) #s(literal 2 binary64))) (cosh.f64 (*.f64 #s(literal -2 binary64) (log.f64 y))))))
(/.f64 (*.f64 (neg.f64 x) #s(literal 1 binary64)) (pow.f64 y #s(literal -2 binary64)))
(/.f64 (*.f64 (neg.f64 x) (+.f64 (pow.f64 (sinh.f64 (*.f64 (log.f64 y) #s(literal 2 binary64))) #s(literal 3 binary64)) (pow.f64 (cosh.f64 (*.f64 #s(literal -2 binary64) (log.f64 y))) #s(literal 3 binary64)))) (-.f64 (cosh.f64 (*.f64 #s(literal 4 binary64) (log.f64 y))) (*.f64 (sinh.f64 (*.f64 (log.f64 y) #s(literal 2 binary64))) (cosh.f64 (*.f64 #s(literal -2 binary64) (log.f64 y))))))
(/.f64 (*.f64 x #s(literal 1 binary64)) (pow.f64 y #s(literal -2 binary64)))
(/.f64 (*.f64 x (+.f64 (pow.f64 (sinh.f64 (*.f64 (log.f64 y) #s(literal 2 binary64))) #s(literal 3 binary64)) (pow.f64 (cosh.f64 (*.f64 #s(literal -2 binary64) (log.f64 y))) #s(literal 3 binary64)))) (-.f64 (cosh.f64 (*.f64 #s(literal 4 binary64) (log.f64 y))) (*.f64 (sinh.f64 (*.f64 (log.f64 y) #s(literal 2 binary64))) (cosh.f64 (*.f64 #s(literal -2 binary64) (log.f64 y))))))
(/.f64 (-.f64 (pow.f64 (*.f64 (cosh.f64 (*.f64 #s(literal -2 binary64) (log.f64 y))) x) #s(literal 2 binary64)) (pow.f64 (*.f64 (sinh.f64 (*.f64 (log.f64 y) #s(literal 2 binary64))) x) #s(literal 2 binary64))) (-.f64 (*.f64 (cosh.f64 (*.f64 #s(literal -2 binary64) (log.f64 y))) x) (*.f64 (sinh.f64 (*.f64 (log.f64 y) #s(literal 2 binary64))) x)))
(/.f64 (+.f64 (pow.f64 (*.f64 (cosh.f64 (*.f64 #s(literal -2 binary64) (log.f64 y))) x) #s(literal 3 binary64)) (pow.f64 (*.f64 (sinh.f64 (*.f64 (log.f64 y) #s(literal 2 binary64))) x) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 (cosh.f64 (*.f64 #s(literal -2 binary64) (log.f64 y))) x) #s(literal 2 binary64)) (-.f64 (pow.f64 (*.f64 (sinh.f64 (*.f64 (log.f64 y) #s(literal 2 binary64))) x) #s(literal 2 binary64)) (*.f64 (*.f64 (cosh.f64 (*.f64 #s(literal -2 binary64) (log.f64 y))) x) (*.f64 (sinh.f64 (*.f64 (log.f64 y) #s(literal 2 binary64))) x)))))
(neg.f64 (*.f64 (*.f64 y y) x))
(fma.f64 (*.f64 x #s(literal 2 binary64)) (*.f64 (cosh.f64 (log.f64 y)) (sinh.f64 (log.f64 y))) (*.f64 (cosh.f64 (*.f64 #s(literal -2 binary64) (log.f64 y))) x))
(fma.f64 (neg.f64 (cosh.f64 (*.f64 #s(literal -2 binary64) (log.f64 y)))) (neg.f64 x) (*.f64 (sinh.f64 (*.f64 #s(literal -2 binary64) (log.f64 y))) (neg.f64 x)))
(fma.f64 (neg.f64 (cosh.f64 (*.f64 #s(literal -2 binary64) (log.f64 y)))) x (*.f64 (sinh.f64 (*.f64 #s(literal -2 binary64) (log.f64 y))) x))
(fma.f64 (neg.f64 x) (neg.f64 (cosh.f64 (*.f64 #s(literal -2 binary64) (log.f64 y)))) (*.f64 (neg.f64 x) (sinh.f64 (*.f64 #s(literal -2 binary64) (log.f64 y)))))
(fma.f64 (neg.f64 x) (sinh.f64 (*.f64 (log.f64 y) #s(literal 2 binary64))) (*.f64 (neg.f64 x) (cosh.f64 (*.f64 #s(literal -2 binary64) (log.f64 y)))))
(fma.f64 (neg.f64 x) (cosh.f64 (*.f64 #s(literal -2 binary64) (log.f64 y))) (*.f64 (neg.f64 x) (sinh.f64 (*.f64 (log.f64 y) #s(literal 2 binary64)))))
(fma.f64 (cosh.f64 (log.f64 y)) (*.f64 y x) (*.f64 (sinh.f64 (log.f64 y)) (*.f64 y x)))
(fma.f64 (sinh.f64 (*.f64 (log.f64 y) #s(literal 2 binary64))) (neg.f64 x) (*.f64 (cosh.f64 (*.f64 #s(literal -2 binary64) (log.f64 y))) (neg.f64 x)))
(fma.f64 (sinh.f64 (*.f64 (log.f64 y) #s(literal 2 binary64))) x (*.f64 (cosh.f64 (*.f64 #s(literal -2 binary64) (log.f64 y))) x))
(fma.f64 (cosh.f64 (*.f64 #s(literal -2 binary64) (log.f64 y))) (neg.f64 x) (*.f64 (sinh.f64 (*.f64 (log.f64 y) #s(literal 2 binary64))) (neg.f64 x)))
(fma.f64 (cosh.f64 (*.f64 #s(literal -2 binary64) (log.f64 y))) x (*.f64 (sinh.f64 (*.f64 (log.f64 y) #s(literal 2 binary64))) x))
(fma.f64 #s(literal 2 binary64) (*.f64 (*.f64 (cosh.f64 (log.f64 y)) (sinh.f64 (log.f64 y))) x) (*.f64 (cosh.f64 (*.f64 #s(literal -2 binary64) (log.f64 y))) x))
(fma.f64 (*.f64 y x) (cosh.f64 (log.f64 y)) (*.f64 (*.f64 y x) (sinh.f64 (log.f64 y))))
(fma.f64 x (neg.f64 (cosh.f64 (*.f64 #s(literal -2 binary64) (log.f64 y)))) (*.f64 x (sinh.f64 (*.f64 #s(literal -2 binary64) (log.f64 y)))))
(fma.f64 x (sinh.f64 (*.f64 (log.f64 y) #s(literal 2 binary64))) (*.f64 (cosh.f64 (*.f64 #s(literal -2 binary64) (log.f64 y))) x))
(fma.f64 x (cosh.f64 (*.f64 #s(literal -2 binary64) (log.f64 y))) (*.f64 (sinh.f64 (*.f64 (log.f64 y) #s(literal 2 binary64))) x))
(-.f64 (*.f64 (cosh.f64 (*.f64 #s(literal -2 binary64) (log.f64 y))) x) (*.f64 (sinh.f64 (*.f64 #s(literal -2 binary64) (log.f64 y))) x))
(-.f64 (*.f64 (cosh.f64 (*.f64 #s(literal -2 binary64) (log.f64 y))) x) (*.f64 (neg.f64 x) (sinh.f64 (*.f64 (log.f64 y) #s(literal 2 binary64)))))
(+.f64 (*.f64 (neg.f64 (cosh.f64 (*.f64 #s(literal -2 binary64) (log.f64 y)))) (neg.f64 x)) (*.f64 (sinh.f64 (*.f64 #s(literal -2 binary64) (log.f64 y))) (neg.f64 x)))
(+.f64 (*.f64 (sinh.f64 (*.f64 (log.f64 y) #s(literal 2 binary64))) (neg.f64 x)) (*.f64 (cosh.f64 (*.f64 #s(literal -2 binary64) (log.f64 y))) (neg.f64 x)))
(+.f64 (*.f64 (cosh.f64 (*.f64 #s(literal -2 binary64) (log.f64 y))) (neg.f64 x)) (*.f64 (sinh.f64 (*.f64 (log.f64 y) #s(literal 2 binary64))) (neg.f64 x)))
(+.f64 (*.f64 (cosh.f64 (log.f64 y)) (*.f64 y x)) (*.f64 (sinh.f64 (log.f64 y)) (*.f64 y x)))
(+.f64 (*.f64 (neg.f64 (cosh.f64 (*.f64 #s(literal -2 binary64) (log.f64 y)))) x) (*.f64 (sinh.f64 (*.f64 #s(literal -2 binary64) (log.f64 y))) x))
(+.f64 (*.f64 (neg.f64 x) (neg.f64 (cosh.f64 (*.f64 #s(literal -2 binary64) (log.f64 y))))) (*.f64 (neg.f64 x) (sinh.f64 (*.f64 #s(literal -2 binary64) (log.f64 y)))))
(+.f64 (*.f64 (neg.f64 x) (cosh.f64 (*.f64 #s(literal -2 binary64) (log.f64 y)))) (*.f64 (neg.f64 x) (sinh.f64 (*.f64 (log.f64 y) #s(literal 2 binary64)))))
(+.f64 (*.f64 (*.f64 y x) (cosh.f64 (log.f64 y))) (*.f64 (*.f64 y x) (sinh.f64 (log.f64 y))))
(+.f64 (*.f64 x (neg.f64 (cosh.f64 (*.f64 #s(literal -2 binary64) (log.f64 y))))) (*.f64 x (sinh.f64 (*.f64 #s(literal -2 binary64) (log.f64 y)))))
(+.f64 (neg.f64 (*.f64 (cosh.f64 (*.f64 #s(literal -2 binary64) (log.f64 y))) x)) (neg.f64 (*.f64 (sinh.f64 (*.f64 (log.f64 y) #s(literal 2 binary64))) x)))
(+.f64 (*.f64 (neg.f64 x) (sinh.f64 (*.f64 (log.f64 y) #s(literal 2 binary64)))) (*.f64 (neg.f64 x) (cosh.f64 (*.f64 #s(literal -2 binary64) (log.f64 y)))))
(+.f64 (*.f64 (sinh.f64 (*.f64 (log.f64 y) #s(literal 2 binary64))) x) (*.f64 (cosh.f64 (*.f64 #s(literal -2 binary64) (log.f64 y))) x))
(+.f64 (*.f64 (cosh.f64 (*.f64 #s(literal -2 binary64) (log.f64 y))) x) (*.f64 (sinh.f64 (*.f64 (log.f64 y) #s(literal 2 binary64))) x))
(*.f64 (*.f64 (*.f64 (sqrt.f64 y) x) (pow.f64 y #s(literal 1/4 binary64))) (pow.f64 y #s(literal 1/4 binary64)))
(*.f64 (*.f64 (neg.f64 x) (sqrt.f64 y)) (sqrt.f64 y))
(*.f64 (neg.f64 (*.f64 (sqrt.f64 y) x)) (sqrt.f64 y))
(*.f64 (neg.f64 (neg.f64 x)) y)
(*.f64 (*.f64 (sqrt.f64 y) x) (sqrt.f64 y))
(*.f64 (neg.f64 x) y)
(*.f64 (pow.f64 y #s(literal 1/4 binary64)) (*.f64 (pow.f64 y #s(literal 1/4 binary64)) (*.f64 (sqrt.f64 y) x)))
(*.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) (neg.f64 x)))
(*.f64 (sqrt.f64 y) (neg.f64 (*.f64 (sqrt.f64 y) x)))
(*.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) x))
(*.f64 y (neg.f64 (neg.f64 x)))
(*.f64 y (neg.f64 x))
(*.f64 y x)
(*.f64 x y)
(neg.f64 (*.f64 y x))
(fma.f64 (neg.f64 x) (cosh.f64 (log.f64 y)) (*.f64 (neg.f64 x) (sinh.f64 (log.f64 y))))
(fma.f64 (cosh.f64 (log.f64 y)) (neg.f64 x) (*.f64 (sinh.f64 (log.f64 y)) (neg.f64 x)))
(fma.f64 (cosh.f64 (log.f64 y)) x (*.f64 (sinh.f64 (log.f64 y)) x))
(fma.f64 x (cosh.f64 (log.f64 y)) (*.f64 x (sinh.f64 (log.f64 y))))
(+.f64 (*.f64 (cosh.f64 (log.f64 y)) (neg.f64 x)) (*.f64 (sinh.f64 (log.f64 y)) (neg.f64 x)))
(+.f64 (*.f64 (cosh.f64 (log.f64 y)) x) (*.f64 (sinh.f64 (log.f64 y)) x))
(+.f64 (*.f64 (neg.f64 x) (cosh.f64 (log.f64 y))) (*.f64 (neg.f64 x) (sinh.f64 (log.f64 y))))
(+.f64 (*.f64 x (cosh.f64 (log.f64 y))) (*.f64 x (sinh.f64 (log.f64 y))))

eval9.0ms (0.5%)

Memory
21.0MiB live, 21.0MiB allocated
Compiler

Compiled 1 322 to 224 computations (83.1% saved)

prune21.0ms (1.1%)

Memory
-22.7MiB live, 34.7MiB allocated
Pruning

5 alts after pruning (4 fresh and 1 done)

PrunedKeptTotal
New87491
Fresh000
Picked011
Done000
Total87592
Accuracy
100.0%
Counts
92 → 5
Alt Table
Click to see full alt table
StatusAccuracyProgram
89.7%
(/.f64 (*.f64 x #s(literal 1 binary64)) (pow.f64 y #s(literal -2 binary64)))
94.6%
(*.f64 (pow.f64 y #s(literal 3/2 binary64)) (*.f64 (sqrt.f64 y) x))
99.6%
(*.f64 (*.f64 (*.f64 (sqrt.f64 y) x) (sqrt.f64 y)) y)
89.7%
(*.f64 (*.f64 y y) x)
99.8%
(*.f64 (*.f64 x y) y)
Compiler

Compiled 34 to 28 computations (17.6% saved)

simplify22.0ms (1.1%)

Memory
-12.9MiB live, 32.0MiB allocated
Algorithm
egg-herbie
Localize:

Found 13 expressions of interest:

NewMetricScoreProgram
cost-diff0
(pow.f64 y #s(literal -2 binary64))
cost-diff0
(/.f64 (*.f64 x #s(literal 1 binary64)) (pow.f64 y #s(literal -2 binary64)))
cost-diff2
(*.f64 x #s(literal 1 binary64))
cost-diff0
(sqrt.f64 y)
cost-diff0
(*.f64 (sqrt.f64 y) x)
cost-diff0
(pow.f64 y #s(literal 3/2 binary64))
cost-diff0
(*.f64 (pow.f64 y #s(literal 3/2 binary64)) (*.f64 (sqrt.f64 y) x))
cost-diff0
(sqrt.f64 y)
cost-diff0
(*.f64 (sqrt.f64 y) x)
cost-diff0
(*.f64 (*.f64 (*.f64 (sqrt.f64 y) x) (sqrt.f64 y)) y)
cost-diff4
(*.f64 (*.f64 (sqrt.f64 y) x) (sqrt.f64 y))
cost-diff0
(*.f64 y y)
cost-diff0
(*.f64 (*.f64 y y) x)
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01671
02763
15063
211859
324259
447159
564259
668259
773159
878759
981959
1082959
082959
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
(*.f64 (*.f64 y y) x)
(*.f64 y y)
y
x
(*.f64 (*.f64 (*.f64 (sqrt.f64 y) x) (sqrt.f64 y)) y)
(*.f64 (*.f64 (sqrt.f64 y) x) (sqrt.f64 y))
(*.f64 (sqrt.f64 y) x)
(sqrt.f64 y)
y
x
(*.f64 (pow.f64 y #s(literal 3/2 binary64)) (*.f64 (sqrt.f64 y) x))
(pow.f64 y #s(literal 3/2 binary64))
y
#s(literal 3/2 binary64)
(*.f64 (sqrt.f64 y) x)
(sqrt.f64 y)
x
(/.f64 (*.f64 x #s(literal 1 binary64)) (pow.f64 y #s(literal -2 binary64)))
(*.f64 x #s(literal 1 binary64))
x
#s(literal 1 binary64)
(pow.f64 y #s(literal -2 binary64))
y
#s(literal -2 binary64)
Outputs
(*.f64 (*.f64 y y) x)
(*.f64 x (*.f64 y y))
(*.f64 y y)
y
x
(*.f64 (*.f64 (*.f64 (sqrt.f64 y) x) (sqrt.f64 y)) y)
(*.f64 x (*.f64 y y))
(*.f64 (*.f64 (sqrt.f64 y) x) (sqrt.f64 y))
(*.f64 x y)
(*.f64 (sqrt.f64 y) x)
(sqrt.f64 y)
y
x
(*.f64 (pow.f64 y #s(literal 3/2 binary64)) (*.f64 (sqrt.f64 y) x))
(*.f64 (*.f64 (pow.f64 y #s(literal 3/2 binary64)) x) (sqrt.f64 y))
(pow.f64 y #s(literal 3/2 binary64))
y
#s(literal 3/2 binary64)
(*.f64 (sqrt.f64 y) x)
(sqrt.f64 y)
x
(/.f64 (*.f64 x #s(literal 1 binary64)) (pow.f64 y #s(literal -2 binary64)))
(/.f64 x (pow.f64 y #s(literal -2 binary64)))
(*.f64 x #s(literal 1 binary64))
x
x
#s(literal 1 binary64)
(pow.f64 y #s(literal -2 binary64))
y
#s(literal -2 binary64)

localize49.0ms (2.5%)

Memory
14.1MiB live, 106.4MiB allocated
Localize:

Found 13 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(pow.f64 y #s(literal -2 binary64))
accuracy0.0
(*.f64 x #s(literal 1 binary64))
accuracy6.602408747323387
(/.f64 (*.f64 x #s(literal 1 binary64)) (pow.f64 y #s(literal -2 binary64)))
accuracy0.0
(pow.f64 y #s(literal 3/2 binary64))
accuracy0.0
(sqrt.f64 y)
accuracy0.21875
(*.f64 (sqrt.f64 y) x)
accuracy3.473611839931597
(*.f64 (pow.f64 y #s(literal 3/2 binary64)) (*.f64 (sqrt.f64 y) x))
accuracy0.0
(sqrt.f64 y)
accuracy0.11328125
(*.f64 (*.f64 (*.f64 (sqrt.f64 y) x) (sqrt.f64 y)) y)
accuracy0.21875
(*.f64 (sqrt.f64 y) x)
accuracy0.29525375976844204
(*.f64 (*.f64 (sqrt.f64 y) x) (sqrt.f64 y))
accuracy0.0
(*.f64 y y)
accuracy6.614127497323389
(*.f64 (*.f64 y y) x)
Samples
39.0ms256×0valid
Compiler

Compiled 73 to 18 computations (75.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 27.0ms
ival-mult: 11.0ms (40.8% of total)
ival-pow: 10.0ms (37.1% of total)
ival-sqrt: 4.0ms (14.8% of total)
ival-div: 2.0ms (7.4% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series20.0ms (1.1%)

Memory
-19.1MiB live, 29.3MiB allocated
Counts
11 → 14
Calls
Call 1
Inputs
(*.f64 (*.f64 y y) x)
(*.f64 y y)
(*.f64 (*.f64 (sqrt.f64 y) x) (sqrt.f64 y))
(*.f64 (*.f64 (*.f64 (sqrt.f64 y) x) (sqrt.f64 y)) y)
(*.f64 (sqrt.f64 y) x)
(sqrt.f64 y)
(*.f64 (pow.f64 y #s(literal 3/2 binary64)) (*.f64 (sqrt.f64 y) x))
(pow.f64 y #s(literal 3/2 binary64))
(*.f64 x #s(literal 1 binary64))
(/.f64 (*.f64 x #s(literal 1 binary64)) (pow.f64 y #s(literal -2 binary64)))
(pow.f64 y #s(literal -2 binary64))
Outputs
(* x (pow y 2))
(* x y)
(* x (sqrt y))
x
(pow y 2)
(sqrt y)
(sqrt (pow y 3))
(/ 1 (pow y 2))
(* -1 (* x (* y (pow (sqrt -1) 2))))
(* -1 (* x (* (pow y 2) (pow (sqrt -1) 2))))
(* -1 (* (* x (pow (sqrt -1) 2)) (sqrt y)))
(* -1 (* (sqrt y) (pow (sqrt -1) 2)))
(* x (* (pow y 2) (pow (sqrt -1) 2)))
(* (sqrt (pow y 3)) (pow (sqrt -1) 2))
Calls

6 calls:

TimeVariablePointExpression
12.0ms
y
@-inf
((* (* y y) x) (* y y) (* (* (sqrt y) x) (sqrt y)) (* (* (* (sqrt y) x) (sqrt y)) y) (* (sqrt y) x) (sqrt y) (* (pow y 3/2) (* (sqrt y) x)) (pow y 3/2) (* x 1) (/ (* x 1) (pow y -2)) (pow y -2))
2.0ms
y
@inf
((* (* y y) x) (* y y) (* (* (sqrt y) x) (sqrt y)) (* (* (* (sqrt y) x) (sqrt y)) y) (* (sqrt y) x) (sqrt y) (* (pow y 3/2) (* (sqrt y) x)) (pow y 3/2) (* x 1) (/ (* x 1) (pow y -2)) (pow y -2))
2.0ms
x
@0
((* (* y y) x) (* y y) (* (* (sqrt y) x) (sqrt y)) (* (* (* (sqrt y) x) (sqrt y)) y) (* (sqrt y) x) (sqrt y) (* (pow y 3/2) (* (sqrt y) x)) (pow y 3/2) (* x 1) (/ (* x 1) (pow y -2)) (pow y -2))
2.0ms
x
@-inf
((* (* y y) x) (* y y) (* (* (sqrt y) x) (sqrt y)) (* (* (* (sqrt y) x) (sqrt y)) y) (* (sqrt y) x) (sqrt y) (* (pow y 3/2) (* (sqrt y) x)) (pow y 3/2) (* x 1) (/ (* x 1) (pow y -2)) (pow y -2))
1.0ms
y
@0
((* (* y y) x) (* y y) (* (* (sqrt y) x) (sqrt y)) (* (* (* (sqrt y) x) (sqrt y)) y) (* (sqrt y) x) (sqrt y) (* (pow y 3/2) (* (sqrt y) x)) (pow y 3/2) (* x 1) (/ (* x 1) (pow y -2)) (pow y -2))

simplify51.0ms (2.6%)

Memory
16.2MiB live, 61.6MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02855
16552
218751
351251
491051
5123651
6152451
7156251
8157051
9157251
10157251
11157251
12157251
13189251
0189251
Stop Event
iter limit
saturated
Counts
14 → 13
Calls
Call 1
Inputs
(* x (pow y 2))
(* x y)
(* x (sqrt y))
x
(pow y 2)
(sqrt y)
(sqrt (pow y 3))
(/ 1 (pow y 2))
(* -1 (* x (* y (pow (sqrt -1) 2))))
(* -1 (* x (* (pow y 2) (pow (sqrt -1) 2))))
(* -1 (* (* x (pow (sqrt -1) 2)) (sqrt y)))
(* -1 (* (sqrt y) (pow (sqrt -1) 2)))
(* x (* (pow y 2) (pow (sqrt -1) 2)))
(* (sqrt (pow y 3)) (pow (sqrt -1) 2))
Outputs
(* x (pow y 2))
(*.f64 (*.f64 x y) y)
(* x y)
(*.f64 x y)
(* x (sqrt y))
(*.f64 (sqrt.f64 y) x)
x
(pow y 2)
(*.f64 y y)
(sqrt y)
(sqrt.f64 y)
(sqrt (pow y 3))
(sqrt.f64 (pow.f64 y #s(literal 3 binary64)))
(/ 1 (pow y 2))
(/.f64 (/.f64 #s(literal -1 binary64) y) y)
(* -1 (* x (* y (pow (sqrt -1) 2))))
(*.f64 x y)
(* -1 (* x (* (pow y 2) (pow (sqrt -1) 2))))
(*.f64 (*.f64 x y) y)
(* -1 (* (* x (pow (sqrt -1) 2)) (sqrt y)))
(*.f64 (sqrt.f64 y) x)
(* -1 (* (sqrt y) (pow (sqrt -1) 2)))
(sqrt.f64 y)
(* x (* (pow y 2) (pow (sqrt -1) 2)))
(*.f64 (*.f64 x y) y)
(* (sqrt (pow y 3)) (pow (sqrt -1) 2))
(neg.f64 (sqrt.f64 (pow.f64 y #s(literal 3 binary64))))

rewrite85.0ms (4.4%)

Memory
27.6MiB live, 116.4MiB allocated
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01654
02743
17243
221639
087639
Stop Event
iter limit
iter limit
iter limit
unsound
iter limit
Counts
11 → 386
Calls
Call 1
Inputs
(*.f64 (*.f64 y y) x)
(*.f64 y y)
(*.f64 (*.f64 (sqrt.f64 y) x) (sqrt.f64 y))
(*.f64 (*.f64 (*.f64 (sqrt.f64 y) x) (sqrt.f64 y)) y)
(*.f64 (sqrt.f64 y) x)
(sqrt.f64 y)
(*.f64 (pow.f64 y #s(literal 3/2 binary64)) (*.f64 (sqrt.f64 y) x))
(pow.f64 y #s(literal 3/2 binary64))
(*.f64 x #s(literal 1 binary64))
(/.f64 (*.f64 x #s(literal 1 binary64)) (pow.f64 y #s(literal -2 binary64)))
(pow.f64 y #s(literal -2 binary64))
Outputs
(*.f64 (/.f64 (*.f64 x y) #s(literal 1 binary64)) y)
(*.f64 (*.f64 (*.f64 (pow.f64 y #s(literal 3/2 binary64)) x) (pow.f64 y #s(literal 1/4 binary64))) (pow.f64 y #s(literal 1/4 binary64)))
(*.f64 (*.f64 (*.f64 (pow.f64 y #s(literal 5/4 binary64)) x) (pow.f64 y #s(literal 3/8 binary64))) (pow.f64 y #s(literal 3/8 binary64)))
(*.f64 (*.f64 (*.f64 (sqrt.f64 y) x) (neg.f64 (pow.f64 y #s(literal 3/4 binary64)))) (neg.f64 (pow.f64 y #s(literal 3/4 binary64))))
(*.f64 (*.f64 x (pow.f64 y #s(literal 3/4 binary64))) (pow.f64 y #s(literal 5/4 binary64)))
(*.f64 (*.f64 (pow.f64 y #s(literal 3/2 binary64)) #s(literal 1 binary64)) (*.f64 (sqrt.f64 y) x))
(*.f64 (*.f64 #s(literal 1 binary64) (pow.f64 y #s(literal 3/4 binary64))) (*.f64 (pow.f64 y #s(literal 5/4 binary64)) x))
(*.f64 (*.f64 #s(literal 1 binary64) (neg.f64 y)) (*.f64 (neg.f64 y) x))
(*.f64 (*.f64 #s(literal 1 binary64) (pow.f64 y #s(literal 3/2 binary64))) (*.f64 (sqrt.f64 y) x))
(*.f64 (/.f64 (neg.f64 x) (pow.f64 y #s(literal -1 binary64))) (/.f64 #s(literal 1 binary64) (/.f64 #s(literal -1 binary64) y)))
(*.f64 (/.f64 #s(literal -1 binary64) (pow.f64 y #s(literal -1 binary64))) (/.f64 x (/.f64 #s(literal -1 binary64) y)))
(*.f64 (/.f64 #s(literal 1 binary64) (/.f64 #s(literal -1 binary64) y)) (/.f64 (neg.f64 x) (pow.f64 y #s(literal -1 binary64))))
(*.f64 (/.f64 #s(literal 1 binary64) (/.f64 #s(literal -1 binary64) y)) (/.f64 x (/.f64 #s(literal -1 binary64) y)))
(*.f64 (/.f64 x (/.f64 #s(literal -1 binary64) y)) (/.f64 #s(literal -1 binary64) (pow.f64 y #s(literal -1 binary64))))
(*.f64 (/.f64 x (/.f64 #s(literal -1 binary64) y)) (/.f64 #s(literal 1 binary64) (/.f64 #s(literal -1 binary64) y)))
(*.f64 (*.f64 (neg.f64 y) x) (*.f64 (neg.f64 y) #s(literal 1 binary64)))
(*.f64 (*.f64 (neg.f64 y) x) (neg.f64 y))
(*.f64 (*.f64 (pow.f64 y #s(literal 3/2 binary64)) x) (sqrt.f64 y))
(*.f64 (*.f64 (pow.f64 y #s(literal 5/4 binary64)) x) (*.f64 (pow.f64 y #s(literal 3/4 binary64)) #s(literal 1 binary64)))
(*.f64 (*.f64 (pow.f64 y #s(literal 5/4 binary64)) x) (pow.f64 y #s(literal 3/4 binary64)))
(*.f64 (pow.f64 y #s(literal 1/4 binary64)) (*.f64 (pow.f64 y #s(literal 1/4 binary64)) (*.f64 (pow.f64 y #s(literal 3/2 binary64)) x)))
(*.f64 (pow.f64 y #s(literal 3/8 binary64)) (*.f64 (pow.f64 y #s(literal 3/8 binary64)) (*.f64 (pow.f64 y #s(literal 5/4 binary64)) x)))
(*.f64 (*.f64 x y) y)
(*.f64 (neg.f64 (pow.f64 y #s(literal 3/4 binary64))) (*.f64 (neg.f64 (pow.f64 y #s(literal 3/4 binary64))) (*.f64 (sqrt.f64 y) x)))
(*.f64 #s(literal -1 binary64) (*.f64 (neg.f64 x) (*.f64 y y)))
(*.f64 (pow.f64 y #s(literal 3/4 binary64)) (*.f64 (pow.f64 y #s(literal 5/4 binary64)) x))
(*.f64 (neg.f64 x) (/.f64 #s(literal 1 binary64) (neg.f64 (pow.f64 y #s(literal -2 binary64)))))
(*.f64 (neg.f64 y) (*.f64 (neg.f64 y) x))
(*.f64 #s(literal 1 binary64) (*.f64 x (*.f64 y y)))
(*.f64 (pow.f64 y #s(literal 3/2 binary64)) (*.f64 (sqrt.f64 y) x))
(*.f64 (*.f64 (sqrt.f64 y) x) (*.f64 (pow.f64 y #s(literal 3/2 binary64)) #s(literal 1 binary64)))
(*.f64 (*.f64 (sqrt.f64 y) x) (*.f64 #s(literal 1 binary64) (pow.f64 y #s(literal 3/2 binary64))))
(*.f64 (*.f64 (sqrt.f64 y) x) (pow.f64 y #s(literal 3/2 binary64)))
(*.f64 (sqrt.f64 y) (*.f64 (pow.f64 y #s(literal 3/2 binary64)) x))
(*.f64 (*.f64 x (*.f64 y y)) #s(literal 1 binary64))
(*.f64 x (*.f64 y y))
(*.f64 (*.f64 y y) x)
(*.f64 y (*.f64 x y))
(/.f64 (/.f64 (*.f64 x y) (pow.f64 y #s(literal -1/2 binary64))) (pow.f64 y #s(literal -1/2 binary64)))
(/.f64 (/.f64 (neg.f64 x) (pow.f64 y #s(literal -1 binary64))) (/.f64 #s(literal -1 binary64) y))
(/.f64 (/.f64 x (/.f64 #s(literal -1 binary64) y)) (/.f64 #s(literal -1 binary64) y))
(/.f64 (*.f64 (neg.f64 y) x) (/.f64 #s(literal -1 binary64) y))
(/.f64 (*.f64 x y) (pow.f64 y #s(literal -1 binary64)))
(/.f64 (neg.f64 x) (neg.f64 (pow.f64 y #s(literal -2 binary64))))
(/.f64 x (pow.f64 y #s(literal -2 binary64)))
(neg.f64 (*.f64 (*.f64 (neg.f64 y) x) y))
(neg.f64 (*.f64 x (*.f64 (neg.f64 y) y)))
(neg.f64 (*.f64 y (*.f64 (neg.f64 y) x)))
(neg.f64 (*.f64 (*.f64 (neg.f64 x) (*.f64 y y)) #s(literal 1 binary64)))
(neg.f64 (*.f64 (*.f64 (neg.f64 y) y) x))
(neg.f64 (*.f64 (neg.f64 x) (*.f64 y y)))
(fma.f64 (cosh.f64 (*.f64 (log.f64 y) #s(literal 3/2 binary64))) (*.f64 (sqrt.f64 y) x) (*.f64 (sinh.f64 (*.f64 (log.f64 y) #s(literal 3/2 binary64))) (*.f64 (sqrt.f64 y) x)))
(fma.f64 (*.f64 (sqrt.f64 y) x) (cosh.f64 (*.f64 (log.f64 y) #s(literal 3/2 binary64))) (*.f64 (*.f64 (sqrt.f64 y) x) (sinh.f64 (*.f64 (log.f64 y) #s(literal 3/2 binary64)))))
(+.f64 (*.f64 (cosh.f64 (*.f64 (log.f64 y) #s(literal 3/2 binary64))) (*.f64 (sqrt.f64 y) x)) (*.f64 (sinh.f64 (*.f64 (log.f64 y) #s(literal 3/2 binary64))) (*.f64 (sqrt.f64 y) x)))
(+.f64 (*.f64 (*.f64 (sqrt.f64 y) x) (cosh.f64 (*.f64 (log.f64 y) #s(literal 3/2 binary64)))) (*.f64 (*.f64 (sqrt.f64 y) x) (sinh.f64 (*.f64 (log.f64 y) #s(literal 3/2 binary64)))))
(*.f64 (/.f64 y #s(literal 1 binary64)) y)
(*.f64 (*.f64 (pow.f64 y #s(literal 3/2 binary64)) (pow.f64 y #s(literal 1/4 binary64))) (pow.f64 y #s(literal 1/4 binary64)))
(*.f64 (*.f64 (sqrt.f64 y) (neg.f64 (pow.f64 y #s(literal 3/4 binary64)))) (neg.f64 (pow.f64 y #s(literal 3/4 binary64))))
(*.f64 (*.f64 #s(literal 1 binary64) (pow.f64 y #s(literal 3/4 binary64))) (pow.f64 y #s(literal 5/4 binary64)))
(*.f64 (*.f64 #s(literal 1 binary64) (neg.f64 y)) (neg.f64 y))
(*.f64 (*.f64 #s(literal 1 binary64) (pow.f64 y #s(literal 3/2 binary64))) (sqrt.f64 y))
(*.f64 (*.f64 (neg.f64 (pow.f64 y #s(literal 3/4 binary64))) (pow.f64 y #s(literal 1/4 binary64))) (*.f64 (neg.f64 (pow.f64 y #s(literal 3/4 binary64))) (pow.f64 y #s(literal 1/4 binary64))))
(*.f64 (*.f64 (pow.f64 y #s(literal 3/4 binary64)) (pow.f64 y #s(literal 1/4 binary64))) (*.f64 (pow.f64 y #s(literal 3/4 binary64)) (pow.f64 y #s(literal 1/4 binary64))))
(*.f64 (*.f64 (pow.f64 y #s(literal 1/4 binary64)) (neg.f64 (pow.f64 y #s(literal 3/4 binary64)))) (*.f64 (pow.f64 y #s(literal 1/4 binary64)) (neg.f64 (pow.f64 y #s(literal 3/4 binary64)))))
(*.f64 (*.f64 (pow.f64 y #s(literal 1/4 binary64)) (pow.f64 y #s(literal 3/4 binary64))) (*.f64 (pow.f64 y #s(literal 1/4 binary64)) (pow.f64 y #s(literal 3/4 binary64))))
(*.f64 (fabs.f64 (sqrt.f64 y)) (pow.f64 y #s(literal 3/2 binary64)))
(*.f64 (pow.f64 (/.f64 #s(literal -1 binary64) y) #s(literal -1 binary64)) (pow.f64 (/.f64 #s(literal -1 binary64) y) #s(literal -1 binary64)))
(*.f64 (pow.f64 y #s(literal 5/4 binary64)) (pow.f64 y #s(literal 3/4 binary64)))
(*.f64 (pow.f64 y #s(literal 1/4 binary64)) (*.f64 (pow.f64 y #s(literal 1/4 binary64)) (pow.f64 y #s(literal 3/2 binary64))))
(*.f64 (pow.f64 y #s(literal 3/8 binary64)) (*.f64 (pow.f64 y #s(literal 3/8 binary64)) (pow.f64 y #s(literal 5/4 binary64))))
(*.f64 (neg.f64 (pow.f64 y #s(literal 3/4 binary64))) (*.f64 (neg.f64 (pow.f64 y #s(literal 3/4 binary64))) (sqrt.f64 y)))
(*.f64 (pow.f64 y #s(literal 3/4 binary64)) (*.f64 (pow.f64 y #s(literal 5/4 binary64)) #s(literal 1 binary64)))
(*.f64 (pow.f64 y #s(literal 3/4 binary64)) (fabs.f64 (pow.f64 y #s(literal 5/4 binary64))))
(*.f64 (pow.f64 y #s(literal 3/4 binary64)) (pow.f64 y #s(literal 5/4 binary64)))
(*.f64 (neg.f64 y) (*.f64 (neg.f64 y) #s(literal 1 binary64)))
(*.f64 (neg.f64 y) (neg.f64 y))
(*.f64 #s(literal 1 binary64) (*.f64 y y))
(*.f64 (pow.f64 y #s(literal 3/2 binary64)) (fabs.f64 (sqrt.f64 y)))
(*.f64 (pow.f64 y #s(literal 3/2 binary64)) (sqrt.f64 y))
(*.f64 (sqrt.f64 y) (*.f64 (pow.f64 y #s(literal 3/2 binary64)) #s(literal 1 binary64)))
(*.f64 (sqrt.f64 y) (pow.f64 y #s(literal 3/2 binary64)))
(*.f64 (*.f64 y y) #s(literal 1 binary64))
(*.f64 y y)
(pow.f64 (pow.f64 y #s(literal -1 binary64)) #s(literal -2 binary64))
(pow.f64 (neg.f64 y) #s(literal 2 binary64))
(pow.f64 (pow.f64 y #s(literal -2 binary64)) #s(literal -1 binary64))
(pow.f64 (*.f64 y y) #s(literal 1 binary64))
(pow.f64 y #s(literal 2 binary64))
(/.f64 (/.f64 y (pow.f64 y #s(literal -1/2 binary64))) (pow.f64 y #s(literal -1/2 binary64)))
(/.f64 (/.f64 #s(literal -1 binary64) (pow.f64 y #s(literal -1 binary64))) (/.f64 #s(literal -1 binary64) y))
(/.f64 (/.f64 #s(literal 1 binary64) (/.f64 #s(literal -1 binary64) y)) (/.f64 #s(literal -1 binary64) y))
(/.f64 #s(literal -1 binary64) (neg.f64 (pow.f64 y #s(literal -2 binary64))))
(/.f64 (neg.f64 y) (/.f64 #s(literal -1 binary64) y))
(/.f64 #s(literal 1 binary64) (fabs.f64 (neg.f64 (pow.f64 y #s(literal -2 binary64)))))
(/.f64 #s(literal 1 binary64) (pow.f64 y #s(literal -2 binary64)))
(/.f64 y (pow.f64 y #s(literal -1 binary64)))
(neg.f64 (/.f64 #s(literal -1 binary64) (pow.f64 y #s(literal -2 binary64))))
(neg.f64 (*.f64 #s(literal 1 binary64) (*.f64 (neg.f64 y) y)))
(neg.f64 (*.f64 (*.f64 (neg.f64 y) y) #s(literal 1 binary64)))
(neg.f64 (*.f64 (neg.f64 y) y))
(fma.f64 (cosh.f64 (*.f64 (log.f64 y) #s(literal 3/2 binary64))) (sqrt.f64 y) (*.f64 (sinh.f64 (*.f64 (log.f64 y) #s(literal 3/2 binary64))) (sqrt.f64 y)))
(fma.f64 (sqrt.f64 y) (cosh.f64 (*.f64 (log.f64 y) #s(literal 3/2 binary64))) (*.f64 (sqrt.f64 y) (sinh.f64 (*.f64 (log.f64 y) #s(literal 3/2 binary64)))))
(sqrt.f64 (*.f64 (*.f64 y y) (*.f64 y y)))
(-.f64 (cosh.f64 (*.f64 #s(literal 2 binary64) (log.f64 y))) (sinh.f64 (*.f64 (log.f64 y) #s(literal -2 binary64))))
(fabs.f64 (*.f64 (neg.f64 y) y))
(fabs.f64 (*.f64 y y))
(exp.f64 (fma.f64 (log.f64 y) #s(literal 3/2 binary64) (*.f64 #s(literal 1/2 binary64) (log.f64 y))))
(exp.f64 (fma.f64 #s(literal 1/2 binary64) (log.f64 y) (*.f64 (log.f64 y) #s(literal 3/2 binary64))))
(exp.f64 (*.f64 (log.f64 (neg.f64 y)) #s(literal 2 binary64)))
(exp.f64 (*.f64 (*.f64 (log.f64 y) #s(literal -2 binary64)) #s(literal -1 binary64)))
(exp.f64 (*.f64 #s(literal 2 binary64) (log.f64 y)))
(+.f64 (*.f64 (cosh.f64 (*.f64 (log.f64 y) #s(literal 3/2 binary64))) (sqrt.f64 y)) (*.f64 (sinh.f64 (*.f64 (log.f64 y) #s(literal 3/2 binary64))) (sqrt.f64 y)))
(+.f64 (*.f64 (sqrt.f64 y) (cosh.f64 (*.f64 (log.f64 y) #s(literal 3/2 binary64)))) (*.f64 (sqrt.f64 y) (sinh.f64 (*.f64 (log.f64 y) #s(literal 3/2 binary64)))))
(+.f64 (cosh.f64 (*.f64 #s(literal 2 binary64) (log.f64 y))) (sinh.f64 (*.f64 #s(literal 2 binary64) (log.f64 y))))
(*.f64 (/.f64 x #s(literal 1 binary64)) y)
(*.f64 (*.f64 (*.f64 (sqrt.f64 y) x) (pow.f64 y #s(literal 1/4 binary64))) (pow.f64 y #s(literal 1/4 binary64)))
(*.f64 (/.f64 #s(literal 1 binary64) (pow.f64 y #s(literal -1/2 binary64))) (/.f64 x (pow.f64 y #s(literal -1/2 binary64))))
(*.f64 (/.f64 x (pow.f64 y #s(literal -1/2 binary64))) (/.f64 #s(literal 1 binary64) (pow.f64 y #s(literal -1/2 binary64))))
(*.f64 (pow.f64 y #s(literal 1/4 binary64)) (*.f64 (pow.f64 y #s(literal 1/4 binary64)) (*.f64 (sqrt.f64 y) x)))
(*.f64 (*.f64 x y) #s(literal 1 binary64))
(*.f64 #s(literal 1 binary64) (*.f64 x y))
(*.f64 (*.f64 (sqrt.f64 y) x) (sqrt.f64 y))
(*.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) x))
(*.f64 x y)
(*.f64 y x)
(/.f64 (/.f64 x (pow.f64 y #s(literal -1/2 binary64))) (pow.f64 y #s(literal -1/2 binary64)))
(/.f64 (neg.f64 x) (/.f64 #s(literal -1 binary64) y))
(/.f64 x (pow.f64 y #s(literal -1 binary64)))
(*.f64 (/.f64 (*.f64 x y) #s(literal 1 binary64)) y)
(*.f64 (*.f64 (*.f64 (pow.f64 y #s(literal 3/2 binary64)) x) (pow.f64 y #s(literal 1/4 binary64))) (pow.f64 y #s(literal 1/4 binary64)))
(*.f64 (*.f64 (*.f64 (pow.f64 y #s(literal 5/4 binary64)) x) (pow.f64 y #s(literal 3/8 binary64))) (pow.f64 y #s(literal 3/8 binary64)))
(*.f64 (*.f64 (*.f64 (sqrt.f64 y) x) (neg.f64 (pow.f64 y #s(literal 3/4 binary64)))) (neg.f64 (pow.f64 y #s(literal 3/4 binary64))))
(*.f64 (*.f64 x (pow.f64 y #s(literal 3/4 binary64))) (pow.f64 y #s(literal 5/4 binary64)))
(*.f64 (*.f64 (pow.f64 y #s(literal 3/2 binary64)) #s(literal 1 binary64)) (*.f64 (sqrt.f64 y) x))
(*.f64 (*.f64 #s(literal 1 binary64) (pow.f64 y #s(literal 3/4 binary64))) (*.f64 (pow.f64 y #s(literal 5/4 binary64)) x))
(*.f64 (*.f64 #s(literal 1 binary64) (neg.f64 y)) (*.f64 (neg.f64 y) x))
(*.f64 (*.f64 #s(literal 1 binary64) (pow.f64 y #s(literal 3/2 binary64))) (*.f64 (sqrt.f64 y) x))
(*.f64 (/.f64 (neg.f64 x) (pow.f64 y #s(literal -1 binary64))) (/.f64 #s(literal 1 binary64) (/.f64 #s(literal -1 binary64) y)))
(*.f64 (/.f64 #s(literal -1 binary64) (pow.f64 y #s(literal -1 binary64))) (/.f64 x (/.f64 #s(literal -1 binary64) y)))
(*.f64 (/.f64 #s(literal 1 binary64) (/.f64 #s(literal -1 binary64) y)) (/.f64 (neg.f64 x) (pow.f64 y #s(literal -1 binary64))))
(*.f64 (/.f64 #s(literal 1 binary64) (/.f64 #s(literal -1 binary64) y)) (/.f64 x (/.f64 #s(literal -1 binary64) y)))
(*.f64 (/.f64 x (/.f64 #s(literal -1 binary64) y)) (/.f64 #s(literal -1 binary64) (pow.f64 y #s(literal -1 binary64))))
(*.f64 (/.f64 x (/.f64 #s(literal -1 binary64) y)) (/.f64 #s(literal 1 binary64) (/.f64 #s(literal -1 binary64) y)))
(*.f64 (*.f64 (neg.f64 y) x) (*.f64 (neg.f64 y) #s(literal 1 binary64)))
(*.f64 (*.f64 (neg.f64 y) x) (neg.f64 y))
(*.f64 (*.f64 (pow.f64 y #s(literal 3/2 binary64)) x) (sqrt.f64 y))
(*.f64 (*.f64 (pow.f64 y #s(literal 5/4 binary64)) x) (*.f64 (pow.f64 y #s(literal 3/4 binary64)) #s(literal 1 binary64)))
(*.f64 (*.f64 (pow.f64 y #s(literal 5/4 binary64)) x) (pow.f64 y #s(literal 3/4 binary64)))
(*.f64 (pow.f64 y #s(literal 1/4 binary64)) (*.f64 (pow.f64 y #s(literal 1/4 binary64)) (*.f64 (pow.f64 y #s(literal 3/2 binary64)) x)))
(*.f64 (pow.f64 y #s(literal 3/8 binary64)) (*.f64 (pow.f64 y #s(literal 3/8 binary64)) (*.f64 (pow.f64 y #s(literal 5/4 binary64)) x)))
(*.f64 (*.f64 x y) y)
(*.f64 (neg.f64 (pow.f64 y #s(literal 3/4 binary64))) (*.f64 (neg.f64 (pow.f64 y #s(literal 3/4 binary64))) (*.f64 (sqrt.f64 y) x)))
(*.f64 #s(literal -1 binary64) (*.f64 (neg.f64 x) (*.f64 y y)))
(*.f64 (pow.f64 y #s(literal 3/4 binary64)) (*.f64 (pow.f64 y #s(literal 5/4 binary64)) x))
(*.f64 (neg.f64 x) (/.f64 #s(literal 1 binary64) (neg.f64 (pow.f64 y #s(literal -2 binary64)))))
(*.f64 (neg.f64 y) (*.f64 (neg.f64 y) x))
(*.f64 #s(literal 1 binary64) (*.f64 x (*.f64 y y)))
(*.f64 (pow.f64 y #s(literal 3/2 binary64)) (*.f64 (sqrt.f64 y) x))
(*.f64 (*.f64 (sqrt.f64 y) x) (*.f64 (pow.f64 y #s(literal 3/2 binary64)) #s(literal 1 binary64)))
(*.f64 (*.f64 (sqrt.f64 y) x) (*.f64 #s(literal 1 binary64) (pow.f64 y #s(literal 3/2 binary64))))
(*.f64 (*.f64 (sqrt.f64 y) x) (pow.f64 y #s(literal 3/2 binary64)))
(*.f64 (sqrt.f64 y) (*.f64 (pow.f64 y #s(literal 3/2 binary64)) x))
(*.f64 (*.f64 x (*.f64 y y)) #s(literal 1 binary64))
(*.f64 x (*.f64 y y))
(*.f64 (*.f64 y y) x)
(*.f64 y (*.f64 x y))
(/.f64 (/.f64 (*.f64 x y) (pow.f64 y #s(literal -1/2 binary64))) (pow.f64 y #s(literal -1/2 binary64)))
(/.f64 (/.f64 (neg.f64 x) (pow.f64 y #s(literal -1 binary64))) (/.f64 #s(literal -1 binary64) y))
(/.f64 (/.f64 x (/.f64 #s(literal -1 binary64) y)) (/.f64 #s(literal -1 binary64) y))
(/.f64 (*.f64 (neg.f64 y) x) (/.f64 #s(literal -1 binary64) y))
(/.f64 (*.f64 x y) (pow.f64 y #s(literal -1 binary64)))
(/.f64 (neg.f64 x) (neg.f64 (pow.f64 y #s(literal -2 binary64))))
(/.f64 x (pow.f64 y #s(literal -2 binary64)))
(neg.f64 (*.f64 (*.f64 (neg.f64 y) x) y))
(neg.f64 (*.f64 x (*.f64 (neg.f64 y) y)))
(neg.f64 (*.f64 y (*.f64 (neg.f64 y) x)))
(neg.f64 (*.f64 (*.f64 (neg.f64 x) (*.f64 y y)) #s(literal 1 binary64)))
(neg.f64 (*.f64 (*.f64 (neg.f64 y) y) x))
(neg.f64 (*.f64 (neg.f64 x) (*.f64 y y)))
(fma.f64 (cosh.f64 (*.f64 (log.f64 y) #s(literal 3/2 binary64))) (*.f64 (sqrt.f64 y) x) (*.f64 (sinh.f64 (*.f64 (log.f64 y) #s(literal 3/2 binary64))) (*.f64 (sqrt.f64 y) x)))
(fma.f64 (*.f64 (sqrt.f64 y) x) (cosh.f64 (*.f64 (log.f64 y) #s(literal 3/2 binary64))) (*.f64 (*.f64 (sqrt.f64 y) x) (sinh.f64 (*.f64 (log.f64 y) #s(literal 3/2 binary64)))))
(+.f64 (*.f64 (cosh.f64 (*.f64 (log.f64 y) #s(literal 3/2 binary64))) (*.f64 (sqrt.f64 y) x)) (*.f64 (sinh.f64 (*.f64 (log.f64 y) #s(literal 3/2 binary64))) (*.f64 (sqrt.f64 y) x)))
(+.f64 (*.f64 (*.f64 (sqrt.f64 y) x) (cosh.f64 (*.f64 (log.f64 y) #s(literal 3/2 binary64)))) (*.f64 (*.f64 (sqrt.f64 y) x) (sinh.f64 (*.f64 (log.f64 y) #s(literal 3/2 binary64)))))
(*.f64 (*.f64 x (pow.f64 y #s(literal 1/4 binary64))) (pow.f64 y #s(literal 1/4 binary64)))
(*.f64 (pow.f64 y #s(literal 1/4 binary64)) (*.f64 (pow.f64 y #s(literal 1/4 binary64)) x))
(*.f64 #s(literal 1 binary64) (*.f64 (sqrt.f64 y) x))
(*.f64 (*.f64 (sqrt.f64 y) x) #s(literal 1 binary64))
(*.f64 (sqrt.f64 y) x)
(*.f64 x (sqrt.f64 y))
(*.f64 (*.f64 #s(literal 1 binary64) (pow.f64 y #s(literal 1/4 binary64))) (pow.f64 y #s(literal 1/4 binary64)))
(*.f64 (neg.f64 (pow.f64 y #s(literal 1/4 binary64))) (neg.f64 (pow.f64 y #s(literal 1/4 binary64))))
(*.f64 (fabs.f64 (pow.f64 y #s(literal 1/4 binary64))) (fabs.f64 (pow.f64 y #s(literal 1/4 binary64))))
(*.f64 (pow.f64 y #s(literal 1/4 binary64)) (*.f64 (pow.f64 y #s(literal 1/4 binary64)) #s(literal 1 binary64)))
(*.f64 (pow.f64 y #s(literal 1/4 binary64)) (pow.f64 y #s(literal 1/4 binary64)))
(*.f64 #s(literal 1 binary64) (sqrt.f64 y))
(*.f64 (sqrt.f64 y) #s(literal 1 binary64))
(pow.f64 (pow.f64 y #s(literal 1/4 binary64)) #s(literal 2 binary64))
(pow.f64 (*.f64 y y) #s(literal 1/4 binary64))
(pow.f64 y #s(literal 1/2 binary64))
(sqrt.f64 y)
(exp.f64 (*.f64 #s(literal 1/2 binary64) (log.f64 y)))
(+.f64 (cosh.f64 (*.f64 #s(literal 1/2 binary64) (log.f64 y))) (sinh.f64 (*.f64 #s(literal 1/2 binary64) (log.f64 y))))
(*.f64 (/.f64 (*.f64 x y) #s(literal 1 binary64)) y)
(*.f64 (*.f64 (*.f64 (pow.f64 y #s(literal 3/2 binary64)) x) (pow.f64 y #s(literal 1/4 binary64))) (pow.f64 y #s(literal 1/4 binary64)))
(*.f64 (*.f64 (*.f64 (pow.f64 y #s(literal 5/4 binary64)) x) (pow.f64 y #s(literal 3/8 binary64))) (pow.f64 y #s(literal 3/8 binary64)))
(*.f64 (*.f64 (*.f64 (sqrt.f64 y) x) (neg.f64 (pow.f64 y #s(literal 3/4 binary64)))) (neg.f64 (pow.f64 y #s(literal 3/4 binary64))))
(*.f64 (*.f64 x (pow.f64 y #s(literal 3/4 binary64))) (pow.f64 y #s(literal 5/4 binary64)))
(*.f64 (*.f64 (pow.f64 y #s(literal 3/2 binary64)) #s(literal 1 binary64)) (*.f64 (sqrt.f64 y) x))
(*.f64 (*.f64 #s(literal 1 binary64) (pow.f64 y #s(literal 3/4 binary64))) (*.f64 (pow.f64 y #s(literal 5/4 binary64)) x))
(*.f64 (*.f64 #s(literal 1 binary64) (neg.f64 y)) (*.f64 (neg.f64 y) x))
(*.f64 (*.f64 #s(literal 1 binary64) (pow.f64 y #s(literal 3/2 binary64))) (*.f64 (sqrt.f64 y) x))
(*.f64 (/.f64 (neg.f64 x) (pow.f64 y #s(literal -1 binary64))) (/.f64 #s(literal 1 binary64) (/.f64 #s(literal -1 binary64) y)))
(*.f64 (/.f64 #s(literal -1 binary64) (pow.f64 y #s(literal -1 binary64))) (/.f64 x (/.f64 #s(literal -1 binary64) y)))
(*.f64 (/.f64 #s(literal 1 binary64) (/.f64 #s(literal -1 binary64) y)) (/.f64 (neg.f64 x) (pow.f64 y #s(literal -1 binary64))))
(*.f64 (/.f64 #s(literal 1 binary64) (/.f64 #s(literal -1 binary64) y)) (/.f64 x (/.f64 #s(literal -1 binary64) y)))
(*.f64 (/.f64 x (/.f64 #s(literal -1 binary64) y)) (/.f64 #s(literal -1 binary64) (pow.f64 y #s(literal -1 binary64))))
(*.f64 (/.f64 x (/.f64 #s(literal -1 binary64) y)) (/.f64 #s(literal 1 binary64) (/.f64 #s(literal -1 binary64) y)))
(*.f64 (*.f64 (neg.f64 y) x) (*.f64 (neg.f64 y) #s(literal 1 binary64)))
(*.f64 (*.f64 (neg.f64 y) x) (neg.f64 y))
(*.f64 (*.f64 (pow.f64 y #s(literal 3/2 binary64)) x) (sqrt.f64 y))
(*.f64 (*.f64 (pow.f64 y #s(literal 5/4 binary64)) x) (*.f64 (pow.f64 y #s(literal 3/4 binary64)) #s(literal 1 binary64)))
(*.f64 (*.f64 (pow.f64 y #s(literal 5/4 binary64)) x) (pow.f64 y #s(literal 3/4 binary64)))
(*.f64 (pow.f64 y #s(literal 1/4 binary64)) (*.f64 (pow.f64 y #s(literal 1/4 binary64)) (*.f64 (pow.f64 y #s(literal 3/2 binary64)) x)))
(*.f64 (pow.f64 y #s(literal 3/8 binary64)) (*.f64 (pow.f64 y #s(literal 3/8 binary64)) (*.f64 (pow.f64 y #s(literal 5/4 binary64)) x)))
(*.f64 (*.f64 x y) y)
(*.f64 (neg.f64 (pow.f64 y #s(literal 3/4 binary64))) (*.f64 (neg.f64 (pow.f64 y #s(literal 3/4 binary64))) (*.f64 (sqrt.f64 y) x)))
(*.f64 #s(literal -1 binary64) (*.f64 (neg.f64 x) (*.f64 y y)))
(*.f64 (pow.f64 y #s(literal 3/4 binary64)) (*.f64 (pow.f64 y #s(literal 5/4 binary64)) x))
(*.f64 (neg.f64 x) (/.f64 #s(literal 1 binary64) (neg.f64 (pow.f64 y #s(literal -2 binary64)))))
(*.f64 (neg.f64 y) (*.f64 (neg.f64 y) x))
(*.f64 #s(literal 1 binary64) (*.f64 x (*.f64 y y)))
(*.f64 (pow.f64 y #s(literal 3/2 binary64)) (*.f64 (sqrt.f64 y) x))
(*.f64 (*.f64 (sqrt.f64 y) x) (*.f64 (pow.f64 y #s(literal 3/2 binary64)) #s(literal 1 binary64)))
(*.f64 (*.f64 (sqrt.f64 y) x) (*.f64 #s(literal 1 binary64) (pow.f64 y #s(literal 3/2 binary64))))
(*.f64 (*.f64 (sqrt.f64 y) x) (pow.f64 y #s(literal 3/2 binary64)))
(*.f64 (sqrt.f64 y) (*.f64 (pow.f64 y #s(literal 3/2 binary64)) x))
(*.f64 (*.f64 x (*.f64 y y)) #s(literal 1 binary64))
(*.f64 x (*.f64 y y))
(*.f64 (*.f64 y y) x)
(*.f64 y (*.f64 x y))
(/.f64 (/.f64 (*.f64 x y) (pow.f64 y #s(literal -1/2 binary64))) (pow.f64 y #s(literal -1/2 binary64)))
(/.f64 (/.f64 (neg.f64 x) (pow.f64 y #s(literal -1 binary64))) (/.f64 #s(literal -1 binary64) y))
(/.f64 (/.f64 x (/.f64 #s(literal -1 binary64) y)) (/.f64 #s(literal -1 binary64) y))
(/.f64 (*.f64 (neg.f64 y) x) (/.f64 #s(literal -1 binary64) y))
(/.f64 (*.f64 x y) (pow.f64 y #s(literal -1 binary64)))
(/.f64 (neg.f64 x) (neg.f64 (pow.f64 y #s(literal -2 binary64))))
(/.f64 x (pow.f64 y #s(literal -2 binary64)))
(neg.f64 (*.f64 (*.f64 (neg.f64 y) x) y))
(neg.f64 (*.f64 x (*.f64 (neg.f64 y) y)))
(neg.f64 (*.f64 y (*.f64 (neg.f64 y) x)))
(neg.f64 (*.f64 (*.f64 (neg.f64 x) (*.f64 y y)) #s(literal 1 binary64)))
(neg.f64 (*.f64 (*.f64 (neg.f64 y) y) x))
(neg.f64 (*.f64 (neg.f64 x) (*.f64 y y)))
(fma.f64 (cosh.f64 (*.f64 (log.f64 y) #s(literal 3/2 binary64))) (*.f64 (sqrt.f64 y) x) (*.f64 (sinh.f64 (*.f64 (log.f64 y) #s(literal 3/2 binary64))) (*.f64 (sqrt.f64 y) x)))
(fma.f64 (*.f64 (sqrt.f64 y) x) (cosh.f64 (*.f64 (log.f64 y) #s(literal 3/2 binary64))) (*.f64 (*.f64 (sqrt.f64 y) x) (sinh.f64 (*.f64 (log.f64 y) #s(literal 3/2 binary64)))))
(+.f64 (*.f64 (cosh.f64 (*.f64 (log.f64 y) #s(literal 3/2 binary64))) (*.f64 (sqrt.f64 y) x)) (*.f64 (sinh.f64 (*.f64 (log.f64 y) #s(literal 3/2 binary64))) (*.f64 (sqrt.f64 y) x)))
(+.f64 (*.f64 (*.f64 (sqrt.f64 y) x) (cosh.f64 (*.f64 (log.f64 y) #s(literal 3/2 binary64)))) (*.f64 (*.f64 (sqrt.f64 y) x) (sinh.f64 (*.f64 (log.f64 y) #s(literal 3/2 binary64)))))
(*.f64 (*.f64 (pow.f64 y #s(literal 3/4 binary64)) (pow.f64 y #s(literal 3/8 binary64))) (pow.f64 y #s(literal 3/8 binary64)))
(*.f64 (*.f64 y (pow.f64 y #s(literal 1/4 binary64))) (pow.f64 y #s(literal 1/4 binary64)))
(*.f64 (pow.f64 (pow.f64 y #s(literal 3/4 binary64)) #s(literal 1 binary64)) (pow.f64 (pow.f64 y #s(literal 3/4 binary64)) #s(literal 1 binary64)))
(*.f64 (neg.f64 (neg.f64 (pow.f64 y #s(literal 3/4 binary64)))) (neg.f64 (neg.f64 (pow.f64 y #s(literal 3/4 binary64)))))
(*.f64 (pow.f64 (pow.f64 y #s(literal 3/4 binary64)) #s(literal 3/4 binary64)) (pow.f64 (pow.f64 y #s(literal 5/4 binary64)) #s(literal 3/4 binary64)))
(*.f64 (pow.f64 (neg.f64 y) #s(literal 3/4 binary64)) (pow.f64 (neg.f64 y) #s(literal 3/4 binary64)))
(*.f64 (pow.f64 (pow.f64 y #s(literal 3/2 binary64)) #s(literal 3/4 binary64)) (pow.f64 (sqrt.f64 y) #s(literal 3/4 binary64)))
(*.f64 (pow.f64 (sqrt.f64 y) #s(literal 3/4 binary64)) (pow.f64 (pow.f64 y #s(literal 3/2 binary64)) #s(literal 3/4 binary64)))
(*.f64 (pow.f64 y #s(literal 1/4 binary64)) (*.f64 (pow.f64 y #s(literal 1/4 binary64)) y))
(*.f64 (pow.f64 y #s(literal 3/8 binary64)) (*.f64 (pow.f64 y #s(literal 3/8 binary64)) (pow.f64 y #s(literal 3/4 binary64))))
(*.f64 (neg.f64 (pow.f64 y #s(literal 3/4 binary64))) (neg.f64 (pow.f64 y #s(literal 3/4 binary64))))
(*.f64 (pow.f64 y #s(literal 3/4 binary64)) (pow.f64 y #s(literal 3/4 binary64)))
(*.f64 (sqrt.f64 y) y)
(*.f64 y (sqrt.f64 y))
(pow.f64 (exp.f64 #s(literal 3/2 binary64)) (log.f64 y))
(pow.f64 (neg.f64 (pow.f64 y #s(literal 3/4 binary64))) #s(literal 2 binary64))
(pow.f64 (pow.f64 y #s(literal 3/4 binary64)) #s(literal 2 binary64))
(pow.f64 (neg.f64 y) #s(literal 3/2 binary64))
(pow.f64 (pow.f64 y #s(literal -2 binary64)) #s(literal -3/4 binary64))
(pow.f64 (*.f64 y y) #s(literal 3/4 binary64))
(pow.f64 y #s(literal 3/2 binary64))
(/.f64 (-.f64 (*.f64 (cosh.f64 (*.f64 (log.f64 y) #s(literal 3/2 binary64))) (cosh.f64 (*.f64 (log.f64 y) #s(literal 3/2 binary64)))) (*.f64 (sinh.f64 (*.f64 (log.f64 y) #s(literal 3/2 binary64))) (sinh.f64 (*.f64 (log.f64 y) #s(literal 3/2 binary64))))) (-.f64 (cosh.f64 (*.f64 (log.f64 y) #s(literal 3/2 binary64))) (sinh.f64 (*.f64 (log.f64 y) #s(literal 3/2 binary64)))))
(/.f64 (+.f64 (pow.f64 (cosh.f64 (*.f64 (log.f64 y) #s(literal 3/2 binary64))) #s(literal 3 binary64)) (pow.f64 (sinh.f64 (*.f64 (log.f64 y) #s(literal 3/2 binary64))) #s(literal 3 binary64))) (fma.f64 (cosh.f64 (*.f64 (log.f64 y) #s(literal 3/2 binary64))) (cosh.f64 (*.f64 (log.f64 y) #s(literal 3/2 binary64))) (-.f64 (*.f64 (sinh.f64 (*.f64 (log.f64 y) #s(literal 3/2 binary64))) (sinh.f64 (*.f64 (log.f64 y) #s(literal 3/2 binary64)))) (*.f64 (cosh.f64 (*.f64 (log.f64 y) #s(literal 3/2 binary64))) (sinh.f64 (*.f64 (log.f64 y) #s(literal 3/2 binary64)))))))
(neg.f64 (*.f64 (neg.f64 (pow.f64 y #s(literal 3/4 binary64))) (pow.f64 y #s(literal 3/4 binary64))))
(neg.f64 (*.f64 (pow.f64 y #s(literal 3/4 binary64)) (neg.f64 (pow.f64 y #s(literal 3/4 binary64)))))
(fabs.f64 (pow.f64 y #s(literal 3/2 binary64)))
(exp.f64 (fma.f64 #s(literal 3/4 binary64) (log.f64 y) (*.f64 #s(literal 3/4 binary64) (log.f64 y))))
(exp.f64 (*.f64 (*.f64 #s(literal 3/4 binary64) (log.f64 y)) #s(literal 2 binary64)))
(exp.f64 (*.f64 (*.f64 #s(literal 2 binary64) (log.f64 y)) #s(literal 3/4 binary64)))
(exp.f64 (*.f64 (log.f64 (pow.f64 y #s(literal 3/4 binary64))) #s(literal 2 binary64)))
(exp.f64 (*.f64 (log.f64 (*.f64 y y)) #s(literal 3/4 binary64)))
(exp.f64 (*.f64 (log.f64 y) #s(literal 3/2 binary64)))
(+.f64 (sinh.f64 (*.f64 (log.f64 y) #s(literal 3/2 binary64))) (cosh.f64 (*.f64 (log.f64 y) #s(literal 3/2 binary64))))
(+.f64 (cosh.f64 (*.f64 (log.f64 y) #s(literal 3/2 binary64))) (sinh.f64 (*.f64 (log.f64 y) #s(literal 3/2 binary64))))
(*.f64 #s(literal -1 binary64) (neg.f64 x))
(*.f64 (neg.f64 x) #s(literal -1 binary64))
(*.f64 #s(literal 1 binary64) x)
(*.f64 x #s(literal 1 binary64))
(neg.f64 (neg.f64 x))
x
(*.f64 (/.f64 (*.f64 x y) #s(literal 1 binary64)) y)
(*.f64 (*.f64 (*.f64 (pow.f64 y #s(literal 3/2 binary64)) x) (pow.f64 y #s(literal 1/4 binary64))) (pow.f64 y #s(literal 1/4 binary64)))
(*.f64 (*.f64 (*.f64 (pow.f64 y #s(literal 5/4 binary64)) x) (pow.f64 y #s(literal 3/8 binary64))) (pow.f64 y #s(literal 3/8 binary64)))
(*.f64 (*.f64 (*.f64 (sqrt.f64 y) x) (neg.f64 (pow.f64 y #s(literal 3/4 binary64)))) (neg.f64 (pow.f64 y #s(literal 3/4 binary64))))
(*.f64 (*.f64 x (pow.f64 y #s(literal 3/4 binary64))) (pow.f64 y #s(literal 5/4 binary64)))
(*.f64 (*.f64 (pow.f64 y #s(literal 3/2 binary64)) #s(literal 1 binary64)) (*.f64 (sqrt.f64 y) x))
(*.f64 (*.f64 #s(literal 1 binary64) (pow.f64 y #s(literal 3/4 binary64))) (*.f64 (pow.f64 y #s(literal 5/4 binary64)) x))
(*.f64 (*.f64 #s(literal 1 binary64) (neg.f64 y)) (*.f64 (neg.f64 y) x))
(*.f64 (*.f64 #s(literal 1 binary64) (pow.f64 y #s(literal 3/2 binary64))) (*.f64 (sqrt.f64 y) x))
(*.f64 (/.f64 (neg.f64 x) (pow.f64 y #s(literal -1 binary64))) (/.f64 #s(literal 1 binary64) (/.f64 #s(literal -1 binary64) y)))
(*.f64 (/.f64 #s(literal -1 binary64) (pow.f64 y #s(literal -1 binary64))) (/.f64 x (/.f64 #s(literal -1 binary64) y)))
(*.f64 (/.f64 #s(literal 1 binary64) (/.f64 #s(literal -1 binary64) y)) (/.f64 (neg.f64 x) (pow.f64 y #s(literal -1 binary64))))
(*.f64 (/.f64 #s(literal 1 binary64) (/.f64 #s(literal -1 binary64) y)) (/.f64 x (/.f64 #s(literal -1 binary64) y)))
(*.f64 (/.f64 x (/.f64 #s(literal -1 binary64) y)) (/.f64 #s(literal -1 binary64) (pow.f64 y #s(literal -1 binary64))))
(*.f64 (/.f64 x (/.f64 #s(literal -1 binary64) y)) (/.f64 #s(literal 1 binary64) (/.f64 #s(literal -1 binary64) y)))
(*.f64 (*.f64 (neg.f64 y) x) (*.f64 (neg.f64 y) #s(literal 1 binary64)))
(*.f64 (*.f64 (neg.f64 y) x) (neg.f64 y))
(*.f64 (*.f64 (pow.f64 y #s(literal 3/2 binary64)) x) (sqrt.f64 y))
(*.f64 (*.f64 (pow.f64 y #s(literal 5/4 binary64)) x) (*.f64 (pow.f64 y #s(literal 3/4 binary64)) #s(literal 1 binary64)))
(*.f64 (*.f64 (pow.f64 y #s(literal 5/4 binary64)) x) (pow.f64 y #s(literal 3/4 binary64)))
(*.f64 (pow.f64 y #s(literal 1/4 binary64)) (*.f64 (pow.f64 y #s(literal 1/4 binary64)) (*.f64 (pow.f64 y #s(literal 3/2 binary64)) x)))
(*.f64 (pow.f64 y #s(literal 3/8 binary64)) (*.f64 (pow.f64 y #s(literal 3/8 binary64)) (*.f64 (pow.f64 y #s(literal 5/4 binary64)) x)))
(*.f64 (*.f64 x y) y)
(*.f64 (neg.f64 (pow.f64 y #s(literal 3/4 binary64))) (*.f64 (neg.f64 (pow.f64 y #s(literal 3/4 binary64))) (*.f64 (sqrt.f64 y) x)))
(*.f64 #s(literal -1 binary64) (*.f64 (neg.f64 x) (*.f64 y y)))
(*.f64 (pow.f64 y #s(literal 3/4 binary64)) (*.f64 (pow.f64 y #s(literal 5/4 binary64)) x))
(*.f64 (neg.f64 x) (/.f64 #s(literal 1 binary64) (neg.f64 (pow.f64 y #s(literal -2 binary64)))))
(*.f64 (neg.f64 y) (*.f64 (neg.f64 y) x))
(*.f64 #s(literal 1 binary64) (*.f64 x (*.f64 y y)))
(*.f64 (pow.f64 y #s(literal 3/2 binary64)) (*.f64 (sqrt.f64 y) x))
(*.f64 (*.f64 (sqrt.f64 y) x) (*.f64 (pow.f64 y #s(literal 3/2 binary64)) #s(literal 1 binary64)))
(*.f64 (*.f64 (sqrt.f64 y) x) (*.f64 #s(literal 1 binary64) (pow.f64 y #s(literal 3/2 binary64))))
(*.f64 (*.f64 (sqrt.f64 y) x) (pow.f64 y #s(literal 3/2 binary64)))
(*.f64 (sqrt.f64 y) (*.f64 (pow.f64 y #s(literal 3/2 binary64)) x))
(*.f64 (*.f64 x (*.f64 y y)) #s(literal 1 binary64))
(*.f64 x (*.f64 y y))
(*.f64 (*.f64 y y) x)
(*.f64 y (*.f64 x y))
(/.f64 (/.f64 (*.f64 x y) (pow.f64 y #s(literal -1/2 binary64))) (pow.f64 y #s(literal -1/2 binary64)))
(/.f64 (/.f64 (neg.f64 x) (pow.f64 y #s(literal -1 binary64))) (/.f64 #s(literal -1 binary64) y))
(/.f64 (/.f64 x (/.f64 #s(literal -1 binary64) y)) (/.f64 #s(literal -1 binary64) y))
(/.f64 (*.f64 (neg.f64 y) x) (/.f64 #s(literal -1 binary64) y))
(/.f64 (*.f64 x y) (pow.f64 y #s(literal -1 binary64)))
(/.f64 (neg.f64 x) (neg.f64 (pow.f64 y #s(literal -2 binary64))))
(/.f64 x (pow.f64 y #s(literal -2 binary64)))
(neg.f64 (*.f64 (*.f64 (neg.f64 y) x) y))
(neg.f64 (*.f64 x (*.f64 (neg.f64 y) y)))
(neg.f64 (*.f64 y (*.f64 (neg.f64 y) x)))
(neg.f64 (*.f64 (*.f64 (neg.f64 x) (*.f64 y y)) #s(literal 1 binary64)))
(neg.f64 (*.f64 (*.f64 (neg.f64 y) y) x))
(neg.f64 (*.f64 (neg.f64 x) (*.f64 y y)))
(fma.f64 (cosh.f64 (*.f64 (log.f64 y) #s(literal 3/2 binary64))) (*.f64 (sqrt.f64 y) x) (*.f64 (sinh.f64 (*.f64 (log.f64 y) #s(literal 3/2 binary64))) (*.f64 (sqrt.f64 y) x)))
(fma.f64 (*.f64 (sqrt.f64 y) x) (cosh.f64 (*.f64 (log.f64 y) #s(literal 3/2 binary64))) (*.f64 (*.f64 (sqrt.f64 y) x) (sinh.f64 (*.f64 (log.f64 y) #s(literal 3/2 binary64)))))
(+.f64 (*.f64 (cosh.f64 (*.f64 (log.f64 y) #s(literal 3/2 binary64))) (*.f64 (sqrt.f64 y) x)) (*.f64 (sinh.f64 (*.f64 (log.f64 y) #s(literal 3/2 binary64))) (*.f64 (sqrt.f64 y) x)))
(+.f64 (*.f64 (*.f64 (sqrt.f64 y) x) (cosh.f64 (*.f64 (log.f64 y) #s(literal 3/2 binary64)))) (*.f64 (*.f64 (sqrt.f64 y) x) (sinh.f64 (*.f64 (log.f64 y) #s(literal 3/2 binary64)))))
(*.f64 (*.f64 (pow.f64 y #s(literal -1 binary64)) (pow.f64 y #s(literal -1/2 binary64))) (pow.f64 y #s(literal -1/2 binary64)))
(*.f64 (pow.f64 (pow.f64 y #s(literal -1 binary64)) #s(literal 1 binary64)) (pow.f64 (pow.f64 y #s(literal -1 binary64)) #s(literal 1 binary64)))
(*.f64 (neg.f64 (/.f64 #s(literal -1 binary64) y)) (neg.f64 (/.f64 #s(literal -1 binary64) y)))
(*.f64 (neg.f64 (/.f64 #s(literal -1 binary64) y)) (pow.f64 y #s(literal -1 binary64)))
(*.f64 (pow.f64 (pow.f64 y #s(literal 3/4 binary64)) #s(literal -1 binary64)) (pow.f64 (pow.f64 y #s(literal 5/4 binary64)) #s(literal -1 binary64)))
(*.f64 (pow.f64 (neg.f64 y) #s(literal -1 binary64)) (pow.f64 (neg.f64 y) #s(literal -1 binary64)))
(*.f64 (pow.f64 (pow.f64 y #s(literal 3/2 binary64)) #s(literal -1 binary64)) (pow.f64 (sqrt.f64 y) #s(literal -1 binary64)))
(*.f64 (pow.f64 (sqrt.f64 y) #s(literal -1 binary64)) (pow.f64 (pow.f64 y #s(literal 3/2 binary64)) #s(literal -1 binary64)))
(*.f64 (pow.f64 y #s(literal -1/2 binary64)) (*.f64 (pow.f64 y #s(literal -1/2 binary64)) (pow.f64 y #s(literal -1 binary64))))
(*.f64 (/.f64 #s(literal -1 binary64) y) (/.f64 #s(literal -1 binary64) y))
(*.f64 (pow.f64 y #s(literal -1 binary64)) (neg.f64 (/.f64 #s(literal -1 binary64) y)))
(*.f64 (pow.f64 y #s(literal -1 binary64)) (pow.f64 y #s(literal -1 binary64)))
(pow.f64 (exp.f64 #s(literal -2 binary64)) (log.f64 y))
(pow.f64 (/.f64 #s(literal -1 binary64) y) #s(literal 2 binary64))
(pow.f64 (pow.f64 y #s(literal -1 binary64)) #s(literal 2 binary64))
(pow.f64 (neg.f64 y) #s(literal -2 binary64))
(pow.f64 (pow.f64 y #s(literal -2 binary64)) #s(literal 1 binary64))
(pow.f64 (*.f64 y y) #s(literal -1 binary64))
(pow.f64 y #s(literal -2 binary64))
(/.f64 (*.f64 #s(literal 1 binary64) (pow.f64 y #s(literal -1 binary64))) y)
(/.f64 (*.f64 (pow.f64 y #s(literal -1 binary64)) #s(literal 1 binary64)) y)
(/.f64 (-.f64 (*.f64 (cosh.f64 (*.f64 #s(literal 2 binary64) (log.f64 y))) (cosh.f64 (*.f64 #s(literal 2 binary64) (log.f64 y)))) (*.f64 (sinh.f64 (*.f64 (log.f64 y) #s(literal -2 binary64))) (sinh.f64 (*.f64 (log.f64 y) #s(literal -2 binary64))))) (*.f64 y y))
(/.f64 (+.f64 (pow.f64 (cosh.f64 (*.f64 #s(literal 2 binary64) (log.f64 y))) #s(literal 3 binary64)) (pow.f64 (sinh.f64 (*.f64 (log.f64 y) #s(literal -2 binary64))) #s(literal 3 binary64))) (fma.f64 (cosh.f64 (*.f64 #s(literal 2 binary64) (log.f64 y))) (cosh.f64 (*.f64 #s(literal 2 binary64) (log.f64 y))) (-.f64 (*.f64 (sinh.f64 (*.f64 (log.f64 y) #s(literal -2 binary64))) (sinh.f64 (*.f64 (log.f64 y) #s(literal -2 binary64)))) (*.f64 (cosh.f64 (*.f64 #s(literal 2 binary64) (log.f64 y))) (sinh.f64 (*.f64 (log.f64 y) #s(literal -2 binary64)))))))
(/.f64 #s(literal 1 binary64) (*.f64 y y))
(neg.f64 (neg.f64 (pow.f64 y #s(literal -2 binary64))))
(fabs.f64 (pow.f64 y #s(literal -2 binary64)))
(exp.f64 (fma.f64 #s(literal -1 binary64) (log.f64 y) (*.f64 #s(literal -1 binary64) (log.f64 y))))
(exp.f64 (*.f64 (*.f64 #s(literal -1 binary64) (log.f64 y)) #s(literal 2 binary64)))
(exp.f64 (*.f64 (*.f64 #s(literal 2 binary64) (log.f64 y)) #s(literal -1 binary64)))
(exp.f64 (*.f64 (log.f64 (pow.f64 y #s(literal -1 binary64))) #s(literal 2 binary64)))
(exp.f64 (*.f64 (log.f64 (*.f64 y y)) #s(literal -1 binary64)))
(exp.f64 (*.f64 (log.f64 y) #s(literal -2 binary64)))
(+.f64 (sinh.f64 (*.f64 (log.f64 y) #s(literal -2 binary64))) (cosh.f64 (*.f64 #s(literal 2 binary64) (log.f64 y))))
(+.f64 (cosh.f64 (*.f64 #s(literal 2 binary64) (log.f64 y))) (sinh.f64 (*.f64 (log.f64 y) #s(literal -2 binary64))))

eval68.0ms (3.5%)

Memory
-4.6MiB live, 91.7MiB allocated
Compiler

Compiled 3 075 to 660 computations (78.5% saved)

prune7.0ms (0.4%)

Memory
-12.1MiB live, 34.0MiB allocated
Pruning

6 alts after pruning (3 fresh and 3 done)

PrunedKeptTotal
New2633266
Fresh000
Picked224
Done011
Total2656271
Accuracy
100.0%
Counts
271 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.7%
(/.f64 (*.f64 (neg.f64 y) x) (/.f64 #s(literal -1 binary64) y))
89.6%
(/.f64 (*.f64 x #s(literal 1 binary64)) (/.f64 #s(literal 1 binary64) (*.f64 y y)))
89.7%
(/.f64 x (pow.f64 y #s(literal -2 binary64)))
99.6%
(*.f64 (*.f64 (*.f64 (sqrt.f64 y) x) (sqrt.f64 y)) y)
89.7%
(*.f64 (*.f64 y y) x)
99.8%
(*.f64 (*.f64 x y) y)
Compiler

Compiled 41 to 33 computations (19.5% saved)

simplify25.0ms (1.3%)

Memory
-2.5MiB live, 44.1MiB allocated
Algorithm
egg-herbie
Localize:

Found 10 expressions of interest:

NewMetricScoreProgram
cost-diff0
(/.f64 #s(literal -1 binary64) y)
cost-diff0
(neg.f64 y)
cost-diff0
(*.f64 (neg.f64 y) x)
cost-diff3
(/.f64 (*.f64 (neg.f64 y) x) (/.f64 #s(literal -1 binary64) y))
cost-diff0
(*.f64 y y)
cost-diff0
(/.f64 #s(literal 1 binary64) (*.f64 y y))
cost-diff2
(*.f64 x #s(literal 1 binary64))
cost-diff2
(/.f64 (*.f64 x #s(literal 1 binary64)) (/.f64 #s(literal 1 binary64) (*.f64 y y)))
cost-diff0
(pow.f64 y #s(literal -2 binary64))
cost-diff0
(/.f64 x (pow.f64 y #s(literal -2 binary64)))
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01554
02549
14645
211745
329245
462045
580845
691245
798345
098345
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
(/.f64 x (pow.f64 y #s(literal -2 binary64)))
x
(pow.f64 y #s(literal -2 binary64))
y
#s(literal -2 binary64)
(/.f64 (*.f64 x #s(literal 1 binary64)) (/.f64 #s(literal 1 binary64) (*.f64 y y)))
(*.f64 x #s(literal 1 binary64))
x
#s(literal 1 binary64)
(/.f64 #s(literal 1 binary64) (*.f64 y y))
(*.f64 y y)
y
(/.f64 (*.f64 (neg.f64 y) x) (/.f64 #s(literal -1 binary64) y))
(*.f64 (neg.f64 y) x)
(neg.f64 y)
y
x
(/.f64 #s(literal -1 binary64) y)
#s(literal -1 binary64)
Outputs
(/.f64 x (pow.f64 y #s(literal -2 binary64)))
x
(pow.f64 y #s(literal -2 binary64))
y
#s(literal -2 binary64)
(/.f64 (*.f64 x #s(literal 1 binary64)) (/.f64 #s(literal 1 binary64) (*.f64 y y)))
(*.f64 (*.f64 y x) y)
(*.f64 x #s(literal 1 binary64))
x
x
#s(literal 1 binary64)
(/.f64 #s(literal 1 binary64) (*.f64 y y))
(*.f64 y y)
y
(/.f64 (*.f64 (neg.f64 y) x) (/.f64 #s(literal -1 binary64) y))
(*.f64 (*.f64 y x) y)
(*.f64 (neg.f64 y) x)
(neg.f64 y)
y
x
(/.f64 #s(literal -1 binary64) y)
#s(literal -1 binary64)

localize46.0ms (2.4%)

Memory
-4.2MiB live, 59.5MiB allocated
Localize:

Found 10 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(/.f64 #s(literal -1 binary64) y)
accuracy0.0
(*.f64 (neg.f64 y) x)
accuracy0.0
(neg.f64 y)
accuracy0.181972509768442
(/.f64 (*.f64 (neg.f64 y) x) (/.f64 #s(literal -1 binary64) y))
accuracy0.0
(*.f64 y y)
accuracy0.0
(*.f64 x #s(literal 1 binary64))
accuracy0.32625523284803826
(/.f64 #s(literal 1 binary64) (*.f64 y y))
accuracy6.602408747323387
(/.f64 (*.f64 x #s(literal 1 binary64)) (/.f64 #s(literal 1 binary64) (*.f64 y y)))
accuracy0.0
(pow.f64 y #s(literal -2 binary64))
accuracy6.602408747323387
(/.f64 x (pow.f64 y #s(literal -2 binary64)))
Samples
37.0ms256×0valid
Compiler

Compiled 56 to 17 computations (69.6% saved)

Precisions
Click to see histograms. Total time spent on operations: 26.0ms
ival-mult: 11.0ms (41.5% of total)
ival-div: 10.0ms (37.8% of total)
ival-pow: 3.0ms (11.3% of total)
ival-neg: 1.0ms (3.8% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series6.0ms (0.3%)

Memory
13.7MiB live, 13.7MiB allocated
Counts
10 → 7
Calls
Call 1
Inputs
(/.f64 x (pow.f64 y #s(literal -2 binary64)))
(pow.f64 y #s(literal -2 binary64))
(/.f64 (*.f64 x #s(literal 1 binary64)) (/.f64 #s(literal 1 binary64) (*.f64 y y)))
(*.f64 x #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (*.f64 y y))
(*.f64 y y)
(/.f64 (*.f64 (neg.f64 y) x) (/.f64 #s(literal -1 binary64) y))
(*.f64 (neg.f64 y) x)
(neg.f64 y)
(/.f64 #s(literal -1 binary64) y)
Outputs
(* x (pow y 2))
x
(* -1 (* x y))
(/ 1 (pow y 2))
(pow y 2)
(* -1 y)
(/ -1 y)
Calls

6 calls:

TimeVariablePointExpression
1.0ms
y
@inf
((/ x (pow y -2)) (pow y -2) (/ (* x 1) (/ 1 (* y y))) (* x 1) (/ 1 (* y y)) (* y y) (/ (* (neg y) x) (/ -1 y)) (* (neg y) x) (neg y) (/ -1 y))
1.0ms
y
@0
((/ x (pow y -2)) (pow y -2) (/ (* x 1) (/ 1 (* y y))) (* x 1) (/ 1 (* y y)) (* y y) (/ (* (neg y) x) (/ -1 y)) (* (neg y) x) (neg y) (/ -1 y))
1.0ms
y
@-inf
((/ x (pow y -2)) (pow y -2) (/ (* x 1) (/ 1 (* y y))) (* x 1) (/ 1 (* y y)) (* y y) (/ (* (neg y) x) (/ -1 y)) (* (neg y) x) (neg y) (/ -1 y))
1.0ms
x
@0
((/ x (pow y -2)) (pow y -2) (/ (* x 1) (/ 1 (* y y))) (* x 1) (/ 1 (* y y)) (* y y) (/ (* (neg y) x) (/ -1 y)) (* (neg y) x) (neg y) (/ -1 y))
1.0ms
x
@inf
((/ x (pow y -2)) (pow y -2) (/ (* x 1) (/ 1 (* y y))) (* x 1) (/ 1 (* y y)) (* y y) (/ (* (neg y) x) (/ -1 y)) (* (neg y) x) (neg y) (/ -1 y))

simplify11.0ms (0.6%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01223
12423
23823
37023
418023
530623
645723
745723
045723
Stop Event
iter limit
saturated
Counts
7 → 6
Calls
Call 1
Inputs
(* x (pow y 2))
x
(* -1 (* x y))
(/ 1 (pow y 2))
(pow y 2)
(* -1 y)
(/ -1 y)
Outputs
(* x (pow y 2))
(*.f64 x (*.f64 y y))
x
(* -1 (* x y))
(*.f64 x (neg.f64 y))
(/ 1 (pow y 2))
(/.f64 #s(literal 1 binary64) (*.f64 y y))
(pow y 2)
(*.f64 y y)
(* -1 y)
(neg.f64 y)
(/ -1 y)
(/.f64 #s(literal -1 binary64) y)

rewrite79.0ms (4.1%)

Memory
22.2MiB live, 69.6MiB allocated
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01545
02534
17134
224232
079232
Stop Event
iter limit
iter limit
iter limit
unsound
iter limit
Counts
10 → 269
Calls
Call 1
Inputs
(/.f64 x (pow.f64 y #s(literal -2 binary64)))
(pow.f64 y #s(literal -2 binary64))
(/.f64 (*.f64 x #s(literal 1 binary64)) (/.f64 #s(literal 1 binary64) (*.f64 y y)))
(*.f64 x #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (*.f64 y y))
(*.f64 y y)
(/.f64 (*.f64 (neg.f64 y) x) (/.f64 #s(literal -1 binary64) y))
(*.f64 (neg.f64 y) x)
(neg.f64 y)
(/.f64 #s(literal -1 binary64) y)
Outputs
(*.f64 (/.f64 (*.f64 y x) (pow.f64 y #s(literal -1/2 binary64))) (/.f64 #s(literal 1 binary64) (pow.f64 y #s(literal -1/2 binary64))))
(*.f64 (/.f64 #s(literal 1 binary64) (pow.f64 y #s(literal -1/2 binary64))) (/.f64 (*.f64 y x) (pow.f64 y #s(literal -1/2 binary64))))
(*.f64 (/.f64 (neg.f64 x) (pow.f64 y #s(literal -1/2 binary64))) (/.f64 y (pow.f64 y #s(literal -1/2 binary64))))
(*.f64 (/.f64 y (pow.f64 y #s(literal -1/2 binary64))) (/.f64 (neg.f64 x) (pow.f64 y #s(literal -1/2 binary64))))
(*.f64 (/.f64 y (pow.f64 y #s(literal -1/2 binary64))) (/.f64 x (pow.f64 y #s(literal -1/2 binary64))))
(*.f64 (/.f64 x (pow.f64 y #s(literal -1/2 binary64))) (/.f64 y (pow.f64 y #s(literal -1/2 binary64))))
(*.f64 (*.f64 (*.f64 y x) y) #s(literal 1 binary64))
(*.f64 (neg.f64 x) (/.f64 (*.f64 y y) #s(literal 1 binary64)))
(*.f64 (neg.f64 x) (*.f64 y y))
(*.f64 #s(literal -1 binary64) (*.f64 (*.f64 y x) y))
(*.f64 (*.f64 y x) (/.f64 y #s(literal -1 binary64)))
(*.f64 (*.f64 y x) y)
(*.f64 (*.f64 y y) (neg.f64 x))
(*.f64 (*.f64 y y) x)
(*.f64 #s(literal 1 binary64) (*.f64 (*.f64 y x) y))
(*.f64 y (*.f64 y x))
(*.f64 x (/.f64 (*.f64 y y) #s(literal 1 binary64)))
(*.f64 x (*.f64 y y))
(/.f64 (/.f64 (*.f64 y x) (pow.f64 y #s(literal -1/2 binary64))) (pow.f64 y #s(literal -1/2 binary64)))
(/.f64 (*.f64 (*.f64 y x) y) #s(literal -1 binary64))
(/.f64 (*.f64 (*.f64 y x) y) #s(literal 1 binary64))
(/.f64 (neg.f64 x) (*.f64 (pow.f64 y #s(literal -2 binary64)) #s(literal -1 binary64)))
(/.f64 (neg.f64 x) (*.f64 (pow.f64 y #s(literal -2 binary64)) #s(literal 1 binary64)))
(/.f64 (neg.f64 x) (pow.f64 y #s(literal -2 binary64)))
(/.f64 (*.f64 y x) (*.f64 (pow.f64 y #s(literal -1 binary64)) #s(literal 1 binary64)))
(/.f64 (*.f64 y x) (*.f64 #s(literal -1 binary64) (pow.f64 y #s(literal -1 binary64))))
(/.f64 (*.f64 y x) (*.f64 #s(literal 1 binary64) (pow.f64 y #s(literal -1 binary64))))
(/.f64 (*.f64 y x) (pow.f64 y #s(literal -1 binary64)))
(/.f64 x (*.f64 (pow.f64 y #s(literal -2 binary64)) #s(literal -1 binary64)))
(/.f64 x (*.f64 (pow.f64 y #s(literal -2 binary64)) #s(literal 1 binary64)))
(/.f64 x (pow.f64 y #s(literal -2 binary64)))
(neg.f64 (*.f64 (*.f64 y x) y))
(*.f64 (*.f64 (pow.f64 y #s(literal -1 binary64)) (pow.f64 y #s(literal -1/2 binary64))) (pow.f64 y #s(literal -1/2 binary64)))
(*.f64 (pow.f64 (pow.f64 y #s(literal -1 binary64)) #s(literal 1 binary64)) (pow.f64 (pow.f64 y #s(literal -1 binary64)) #s(literal 1 binary64)))
(*.f64 (pow.f64 y #s(literal -1/2 binary64)) (/.f64 (pow.f64 y #s(literal -1/2 binary64)) y))
(*.f64 (pow.f64 y #s(literal -1/2 binary64)) (*.f64 (pow.f64 y #s(literal -1/2 binary64)) (pow.f64 y #s(literal -1 binary64))))
(*.f64 (pow.f64 y #s(literal -1 binary64)) (pow.f64 y #s(literal -1 binary64)))
(*.f64 #s(literal -1 binary64) (pow.f64 y #s(literal -2 binary64)))
(*.f64 #s(literal 1 binary64) (pow.f64 y #s(literal -2 binary64)))
(pow.f64 (exp.f64 #s(literal -2 binary64)) (log.f64 y))
(pow.f64 (*.f64 (*.f64 y y) (*.f64 y y)) #s(literal -1/2 binary64))
(pow.f64 (pow.f64 y #s(literal -1 binary64)) #s(literal 2 binary64))
(pow.f64 (pow.f64 y #s(literal -2 binary64)) #s(literal 1 binary64))
(pow.f64 (*.f64 y y) #s(literal -1 binary64))
(pow.f64 y #s(literal -2 binary64))
(/.f64 (*.f64 (pow.f64 y #s(literal -1 binary64)) #s(literal -1 binary64)) y)
(/.f64 (*.f64 (pow.f64 y #s(literal -1 binary64)) #s(literal 1 binary64)) y)
(/.f64 (-.f64 (*.f64 (cosh.f64 (*.f64 #s(literal 2 binary64) (log.f64 y))) (cosh.f64 (*.f64 #s(literal 2 binary64) (log.f64 y)))) (*.f64 (sinh.f64 (*.f64 (log.f64 y) #s(literal -2 binary64))) (sinh.f64 (*.f64 (log.f64 y) #s(literal -2 binary64))))) (-.f64 (cosh.f64 (*.f64 #s(literal 2 binary64) (log.f64 y))) (sinh.f64 (*.f64 (log.f64 y) #s(literal -2 binary64)))))
(/.f64 (+.f64 (pow.f64 (cosh.f64 (*.f64 #s(literal 2 binary64) (log.f64 y))) #s(literal 3 binary64)) (pow.f64 (sinh.f64 (*.f64 (log.f64 y) #s(literal -2 binary64))) #s(literal 3 binary64))) (fma.f64 (cosh.f64 (*.f64 #s(literal 2 binary64) (log.f64 y))) (cosh.f64 (*.f64 #s(literal 2 binary64) (log.f64 y))) (-.f64 (*.f64 (sinh.f64 (*.f64 (log.f64 y) #s(literal -2 binary64))) (sinh.f64 (*.f64 (log.f64 y) #s(literal -2 binary64)))) (*.f64 (cosh.f64 (*.f64 #s(literal 2 binary64) (log.f64 y))) (sinh.f64 (*.f64 (log.f64 y) #s(literal -2 binary64)))))))
(/.f64 (*.f64 #s(literal -1 binary64) (pow.f64 y #s(literal -1 binary64))) y)
(/.f64 (*.f64 #s(literal 1 binary64) (pow.f64 y #s(literal -1 binary64))) y)
(/.f64 (pow.f64 y #s(literal -1 binary64)) y)
(/.f64 #s(literal -1 binary64) (*.f64 y y))
(/.f64 #s(literal 1 binary64) (*.f64 y y))
(neg.f64 (pow.f64 y #s(literal -2 binary64)))
(fabs.f64 (pow.f64 y #s(literal -2 binary64)))
(exp.f64 (neg.f64 (*.f64 #s(literal 2 binary64) (log.f64 y))))
(exp.f64 (fma.f64 (log.f64 y) #s(literal -1 binary64) (*.f64 (log.f64 y) #s(literal -1 binary64))))
(exp.f64 (*.f64 (*.f64 (log.f64 y) #s(literal -1 binary64)) #s(literal 2 binary64)))
(exp.f64 (*.f64 (log.f64 (pow.f64 y #s(literal -1 binary64))) #s(literal 2 binary64)))
(exp.f64 (*.f64 (*.f64 #s(literal 2 binary64) (log.f64 y)) #s(literal -1 binary64)))
(exp.f64 (*.f64 (log.f64 y) #s(literal -2 binary64)))
(+.f64 (neg.f64 (cosh.f64 (*.f64 #s(literal 2 binary64) (log.f64 y)))) (neg.f64 (sinh.f64 (*.f64 (log.f64 y) #s(literal -2 binary64)))))
(+.f64 (cosh.f64 (*.f64 (*.f64 #s(literal 2 binary64) (log.f64 y)) #s(literal -1 binary64))) (sinh.f64 (*.f64 (*.f64 #s(literal 2 binary64) (log.f64 y)) #s(literal -1 binary64))))
(+.f64 (sinh.f64 (*.f64 (log.f64 y) #s(literal -2 binary64))) (cosh.f64 (*.f64 #s(literal 2 binary64) (log.f64 y))))
(+.f64 (cosh.f64 (*.f64 #s(literal 2 binary64) (log.f64 y))) (sinh.f64 (*.f64 (log.f64 y) #s(literal -2 binary64))))
(*.f64 (/.f64 (*.f64 y x) (pow.f64 y #s(literal -1/2 binary64))) (/.f64 #s(literal 1 binary64) (pow.f64 y #s(literal -1/2 binary64))))
(*.f64 (/.f64 #s(literal 1 binary64) (pow.f64 y #s(literal -1/2 binary64))) (/.f64 (*.f64 y x) (pow.f64 y #s(literal -1/2 binary64))))
(*.f64 (/.f64 (neg.f64 x) (pow.f64 y #s(literal -1/2 binary64))) (/.f64 y (pow.f64 y #s(literal -1/2 binary64))))
(*.f64 (/.f64 y (pow.f64 y #s(literal -1/2 binary64))) (/.f64 (neg.f64 x) (pow.f64 y #s(literal -1/2 binary64))))
(*.f64 (/.f64 y (pow.f64 y #s(literal -1/2 binary64))) (/.f64 x (pow.f64 y #s(literal -1/2 binary64))))
(*.f64 (/.f64 x (pow.f64 y #s(literal -1/2 binary64))) (/.f64 y (pow.f64 y #s(literal -1/2 binary64))))
(*.f64 (*.f64 (*.f64 y x) y) #s(literal 1 binary64))
(*.f64 (neg.f64 x) (/.f64 (*.f64 y y) #s(literal 1 binary64)))
(*.f64 (neg.f64 x) (*.f64 y y))
(*.f64 #s(literal -1 binary64) (*.f64 (*.f64 y x) y))
(*.f64 (*.f64 y x) (/.f64 y #s(literal -1 binary64)))
(*.f64 (*.f64 y x) y)
(*.f64 (*.f64 y y) (neg.f64 x))
(*.f64 (*.f64 y y) x)
(*.f64 #s(literal 1 binary64) (*.f64 (*.f64 y x) y))
(*.f64 y (*.f64 y x))
(*.f64 x (/.f64 (*.f64 y y) #s(literal 1 binary64)))
(*.f64 x (*.f64 y y))
(/.f64 (/.f64 (*.f64 y x) (pow.f64 y #s(literal -1/2 binary64))) (pow.f64 y #s(literal -1/2 binary64)))
(/.f64 (*.f64 (*.f64 y x) y) #s(literal -1 binary64))
(/.f64 (*.f64 (*.f64 y x) y) #s(literal 1 binary64))
(/.f64 (neg.f64 x) (*.f64 (pow.f64 y #s(literal -2 binary64)) #s(literal -1 binary64)))
(/.f64 (neg.f64 x) (*.f64 (pow.f64 y #s(literal -2 binary64)) #s(literal 1 binary64)))
(/.f64 (neg.f64 x) (pow.f64 y #s(literal -2 binary64)))
(/.f64 (*.f64 y x) (*.f64 (pow.f64 y #s(literal -1 binary64)) #s(literal 1 binary64)))
(/.f64 (*.f64 y x) (*.f64 #s(literal -1 binary64) (pow.f64 y #s(literal -1 binary64))))
(/.f64 (*.f64 y x) (*.f64 #s(literal 1 binary64) (pow.f64 y #s(literal -1 binary64))))
(/.f64 (*.f64 y x) (pow.f64 y #s(literal -1 binary64)))
(/.f64 x (*.f64 (pow.f64 y #s(literal -2 binary64)) #s(literal -1 binary64)))
(/.f64 x (*.f64 (pow.f64 y #s(literal -2 binary64)) #s(literal 1 binary64)))
(/.f64 x (pow.f64 y #s(literal -2 binary64)))
(neg.f64 (*.f64 (*.f64 y x) y))
(*.f64 (neg.f64 x) #s(literal -1 binary64))
(*.f64 #s(literal -1 binary64) (neg.f64 x))
(*.f64 #s(literal 1 binary64) x)
(*.f64 x #s(literal 1 binary64))
(/.f64 (neg.f64 x) #s(literal -1 binary64))
(/.f64 x #s(literal 1 binary64))
(neg.f64 (neg.f64 x))
x
(*.f64 (*.f64 (pow.f64 y #s(literal -1 binary64)) (pow.f64 y #s(literal -1/2 binary64))) (pow.f64 y #s(literal -1/2 binary64)))
(*.f64 (pow.f64 (pow.f64 y #s(literal -1 binary64)) #s(literal 1 binary64)) (pow.f64 (pow.f64 y #s(literal -1 binary64)) #s(literal 1 binary64)))
(*.f64 (pow.f64 y #s(literal -1/2 binary64)) (/.f64 (pow.f64 y #s(literal -1/2 binary64)) y))
(*.f64 (pow.f64 y #s(literal -1/2 binary64)) (*.f64 (pow.f64 y #s(literal -1/2 binary64)) (pow.f64 y #s(literal -1 binary64))))
(*.f64 (pow.f64 y #s(literal -1 binary64)) (pow.f64 y #s(literal -1 binary64)))
(*.f64 #s(literal -1 binary64) (pow.f64 y #s(literal -2 binary64)))
(*.f64 #s(literal 1 binary64) (pow.f64 y #s(literal -2 binary64)))
(pow.f64 (exp.f64 #s(literal -2 binary64)) (log.f64 y))
(pow.f64 (*.f64 (*.f64 y y) (*.f64 y y)) #s(literal -1/2 binary64))
(pow.f64 (pow.f64 y #s(literal -1 binary64)) #s(literal 2 binary64))
(pow.f64 (pow.f64 y #s(literal -2 binary64)) #s(literal 1 binary64))
(pow.f64 (*.f64 y y) #s(literal -1 binary64))
(pow.f64 y #s(literal -2 binary64))
(/.f64 (*.f64 (pow.f64 y #s(literal -1 binary64)) #s(literal -1 binary64)) y)
(/.f64 (*.f64 (pow.f64 y #s(literal -1 binary64)) #s(literal 1 binary64)) y)
(/.f64 (-.f64 (*.f64 (cosh.f64 (*.f64 #s(literal 2 binary64) (log.f64 y))) (cosh.f64 (*.f64 #s(literal 2 binary64) (log.f64 y)))) (*.f64 (sinh.f64 (*.f64 (log.f64 y) #s(literal -2 binary64))) (sinh.f64 (*.f64 (log.f64 y) #s(literal -2 binary64))))) (-.f64 (cosh.f64 (*.f64 #s(literal 2 binary64) (log.f64 y))) (sinh.f64 (*.f64 (log.f64 y) #s(literal -2 binary64)))))
(/.f64 (+.f64 (pow.f64 (cosh.f64 (*.f64 #s(literal 2 binary64) (log.f64 y))) #s(literal 3 binary64)) (pow.f64 (sinh.f64 (*.f64 (log.f64 y) #s(literal -2 binary64))) #s(literal 3 binary64))) (fma.f64 (cosh.f64 (*.f64 #s(literal 2 binary64) (log.f64 y))) (cosh.f64 (*.f64 #s(literal 2 binary64) (log.f64 y))) (-.f64 (*.f64 (sinh.f64 (*.f64 (log.f64 y) #s(literal -2 binary64))) (sinh.f64 (*.f64 (log.f64 y) #s(literal -2 binary64)))) (*.f64 (cosh.f64 (*.f64 #s(literal 2 binary64) (log.f64 y))) (sinh.f64 (*.f64 (log.f64 y) #s(literal -2 binary64)))))))
(/.f64 (*.f64 #s(literal -1 binary64) (pow.f64 y #s(literal -1 binary64))) y)
(/.f64 (*.f64 #s(literal 1 binary64) (pow.f64 y #s(literal -1 binary64))) y)
(/.f64 (pow.f64 y #s(literal -1 binary64)) y)
(/.f64 #s(literal -1 binary64) (*.f64 y y))
(/.f64 #s(literal 1 binary64) (*.f64 y y))
(neg.f64 (pow.f64 y #s(literal -2 binary64)))
(fabs.f64 (pow.f64 y #s(literal -2 binary64)))
(exp.f64 (neg.f64 (*.f64 #s(literal 2 binary64) (log.f64 y))))
(exp.f64 (fma.f64 (log.f64 y) #s(literal -1 binary64) (*.f64 (log.f64 y) #s(literal -1 binary64))))
(exp.f64 (*.f64 (*.f64 (log.f64 y) #s(literal -1 binary64)) #s(literal 2 binary64)))
(exp.f64 (*.f64 (log.f64 (pow.f64 y #s(literal -1 binary64))) #s(literal 2 binary64)))
(exp.f64 (*.f64 (*.f64 #s(literal 2 binary64) (log.f64 y)) #s(literal -1 binary64)))
(exp.f64 (*.f64 (log.f64 y) #s(literal -2 binary64)))
(+.f64 (neg.f64 (cosh.f64 (*.f64 #s(literal 2 binary64) (log.f64 y)))) (neg.f64 (sinh.f64 (*.f64 (log.f64 y) #s(literal -2 binary64)))))
(+.f64 (cosh.f64 (*.f64 (*.f64 #s(literal 2 binary64) (log.f64 y)) #s(literal -1 binary64))) (sinh.f64 (*.f64 (*.f64 #s(literal 2 binary64) (log.f64 y)) #s(literal -1 binary64))))
(+.f64 (sinh.f64 (*.f64 (log.f64 y) #s(literal -2 binary64))) (cosh.f64 (*.f64 #s(literal 2 binary64) (log.f64 y))))
(+.f64 (cosh.f64 (*.f64 #s(literal 2 binary64) (log.f64 y))) (sinh.f64 (*.f64 (log.f64 y) #s(literal -2 binary64))))
(*.f64 (/.f64 y #s(literal -1 binary64)) y)
(*.f64 #s(literal -1 binary64) (*.f64 y y))
(*.f64 (*.f64 y y) #s(literal -1 binary64))
(*.f64 (*.f64 y y) #s(literal 1 binary64))
(*.f64 #s(literal 1 binary64) (*.f64 y y))
(*.f64 y y)
(pow.f64 (pow.f64 y #s(literal -1 binary64)) #s(literal -2 binary64))
(pow.f64 (pow.f64 y #s(literal -2 binary64)) #s(literal -1 binary64))
(pow.f64 (*.f64 y y) #s(literal 1 binary64))
(pow.f64 y #s(literal 2 binary64))
(/.f64 #s(literal -1 binary64) (pow.f64 y #s(literal -2 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 y #s(literal -2 binary64)))
(/.f64 y (pow.f64 y #s(literal -1 binary64)))
(neg.f64 (*.f64 y y))
(sqrt.f64 (*.f64 (*.f64 y y) (*.f64 y y)))
(fabs.f64 (*.f64 y y))
(exp.f64 (neg.f64 (*.f64 (*.f64 #s(literal 2 binary64) (log.f64 y)) #s(literal -1 binary64))))
(exp.f64 (*.f64 (*.f64 (*.f64 #s(literal 2 binary64) (log.f64 y)) #s(literal -1 binary64)) #s(literal -1 binary64)))
(exp.f64 (*.f64 (*.f64 (log.f64 y) #s(literal -2 binary64)) #s(literal -1 binary64)))
(exp.f64 (*.f64 (*.f64 #s(literal 2 binary64) (log.f64 y)) #s(literal 1 binary64)))
(exp.f64 (*.f64 #s(literal 2 binary64) (log.f64 y)))
(+.f64 (cosh.f64 (*.f64 #s(literal 2 binary64) (log.f64 y))) (sinh.f64 (*.f64 #s(literal 2 binary64) (log.f64 y))))
(*.f64 (/.f64 (*.f64 y x) (pow.f64 y #s(literal -1/2 binary64))) (/.f64 #s(literal 1 binary64) (pow.f64 y #s(literal -1/2 binary64))))
(*.f64 (/.f64 #s(literal 1 binary64) (pow.f64 y #s(literal -1/2 binary64))) (/.f64 (*.f64 y x) (pow.f64 y #s(literal -1/2 binary64))))
(*.f64 (/.f64 (neg.f64 x) (pow.f64 y #s(literal -1/2 binary64))) (/.f64 y (pow.f64 y #s(literal -1/2 binary64))))
(*.f64 (/.f64 y (pow.f64 y #s(literal -1/2 binary64))) (/.f64 (neg.f64 x) (pow.f64 y #s(literal -1/2 binary64))))
(*.f64 (/.f64 y (pow.f64 y #s(literal -1/2 binary64))) (/.f64 x (pow.f64 y #s(literal -1/2 binary64))))
(*.f64 (/.f64 x (pow.f64 y #s(literal -1/2 binary64))) (/.f64 y (pow.f64 y #s(literal -1/2 binary64))))
(*.f64 (*.f64 (*.f64 y x) y) #s(literal 1 binary64))
(*.f64 (neg.f64 x) (/.f64 (*.f64 y y) #s(literal 1 binary64)))
(*.f64 (neg.f64 x) (*.f64 y y))
(*.f64 #s(literal -1 binary64) (*.f64 (*.f64 y x) y))
(*.f64 (*.f64 y x) (/.f64 y #s(literal -1 binary64)))
(*.f64 (*.f64 y x) y)
(*.f64 (*.f64 y y) (neg.f64 x))
(*.f64 (*.f64 y y) x)
(*.f64 #s(literal 1 binary64) (*.f64 (*.f64 y x) y))
(*.f64 y (*.f64 y x))
(*.f64 x (/.f64 (*.f64 y y) #s(literal 1 binary64)))
(*.f64 x (*.f64 y y))
(/.f64 (/.f64 (*.f64 y x) (pow.f64 y #s(literal -1/2 binary64))) (pow.f64 y #s(literal -1/2 binary64)))
(/.f64 (*.f64 (*.f64 y x) y) #s(literal -1 binary64))
(/.f64 (*.f64 (*.f64 y x) y) #s(literal 1 binary64))
(/.f64 (neg.f64 x) (*.f64 (pow.f64 y #s(literal -2 binary64)) #s(literal -1 binary64)))
(/.f64 (neg.f64 x) (*.f64 (pow.f64 y #s(literal -2 binary64)) #s(literal 1 binary64)))
(/.f64 (neg.f64 x) (pow.f64 y #s(literal -2 binary64)))
(/.f64 (*.f64 y x) (*.f64 (pow.f64 y #s(literal -1 binary64)) #s(literal 1 binary64)))
(/.f64 (*.f64 y x) (*.f64 #s(literal -1 binary64) (pow.f64 y #s(literal -1 binary64))))
(/.f64 (*.f64 y x) (*.f64 #s(literal 1 binary64) (pow.f64 y #s(literal -1 binary64))))
(/.f64 (*.f64 y x) (pow.f64 y #s(literal -1 binary64)))
(/.f64 x (*.f64 (pow.f64 y #s(literal -2 binary64)) #s(literal -1 binary64)))
(/.f64 x (*.f64 (pow.f64 y #s(literal -2 binary64)) #s(literal 1 binary64)))
(/.f64 x (pow.f64 y #s(literal -2 binary64)))
(neg.f64 (*.f64 (*.f64 y x) y))
(*.f64 (*.f64 y #s(literal -1 binary64)) x)
(*.f64 (/.f64 #s(literal -1 binary64) (pow.f64 y #s(literal -1/2 binary64))) (/.f64 x (pow.f64 y #s(literal -1/2 binary64))))
(*.f64 (/.f64 #s(literal 1 binary64) (pow.f64 y #s(literal -1/2 binary64))) (/.f64 (neg.f64 x) (pow.f64 y #s(literal -1/2 binary64))))
(*.f64 (/.f64 #s(literal 1 binary64) (pow.f64 y #s(literal -1/2 binary64))) (/.f64 x (pow.f64 y #s(literal -1/2 binary64))))
(*.f64 (/.f64 (neg.f64 x) (pow.f64 y #s(literal -1/2 binary64))) (/.f64 #s(literal 1 binary64) (pow.f64 y #s(literal -1/2 binary64))))
(*.f64 (/.f64 x (pow.f64 y #s(literal -1/2 binary64))) (/.f64 #s(literal -1 binary64) (pow.f64 y #s(literal -1/2 binary64))))
(*.f64 (/.f64 x (pow.f64 y #s(literal -1/2 binary64))) (/.f64 #s(literal 1 binary64) (pow.f64 y #s(literal -1/2 binary64))))
(*.f64 (/.f64 y #s(literal -1 binary64)) x)
(*.f64 (neg.f64 x) (/.f64 y #s(literal -1 binary64)))
(*.f64 (neg.f64 x) y)
(*.f64 #s(literal -1 binary64) (*.f64 y x))
(*.f64 (*.f64 y x) #s(literal -1 binary64))
(*.f64 (*.f64 y x) #s(literal 1 binary64))
(*.f64 #s(literal 1 binary64) (*.f64 y x))
(*.f64 y (neg.f64 x))
(*.f64 y x)
(*.f64 x (*.f64 #s(literal 1 binary64) (/.f64 y #s(literal -1 binary64))))
(*.f64 x (/.f64 y #s(literal -1 binary64)))
(*.f64 x y)
(/.f64 (/.f64 (neg.f64 x) (pow.f64 y #s(literal -1/2 binary64))) (pow.f64 y #s(literal -1/2 binary64)))
(/.f64 (/.f64 x (pow.f64 y #s(literal -1/2 binary64))) (pow.f64 y #s(literal -1/2 binary64)))
(/.f64 (neg.f64 x) (*.f64 (pow.f64 y #s(literal -1 binary64)) #s(literal -1 binary64)))
(/.f64 (neg.f64 x) (*.f64 (pow.f64 y #s(literal -1 binary64)) #s(literal 1 binary64)))
(/.f64 (neg.f64 x) (*.f64 #s(literal -1 binary64) (pow.f64 y #s(literal -1 binary64))))
(/.f64 (neg.f64 x) (pow.f64 y #s(literal -1 binary64)))
(/.f64 (*.f64 y x) #s(literal -1 binary64))
(/.f64 (*.f64 y x) #s(literal 1 binary64))
(/.f64 x (*.f64 (pow.f64 y #s(literal -1 binary64)) #s(literal -1 binary64)))
(/.f64 x (*.f64 (pow.f64 y #s(literal -1 binary64)) #s(literal 1 binary64)))
(/.f64 x (*.f64 #s(literal 1 binary64) (pow.f64 y #s(literal -1 binary64))))
(/.f64 x (pow.f64 y #s(literal -1 binary64)))
(neg.f64 (*.f64 y x))
(*.f64 (pow.f64 y #s(literal 1/2 binary64)) (pow.f64 y #s(literal 1/2 binary64)))
(*.f64 (sqrt.f64 #s(literal -1 binary64)) y)
(*.f64 (sqrt.f64 y) (sqrt.f64 y))
(*.f64 #s(literal -1 binary64) y)
(*.f64 #s(literal 1 binary64) y)
(*.f64 y #s(literal 1 binary64))
(pow.f64 (pow.f64 y #s(literal -1 binary64)) #s(literal -1 binary64))
(pow.f64 (pow.f64 y #s(literal -2 binary64)) #s(literal -1/2 binary64))
(pow.f64 (*.f64 y y) #s(literal 1/2 binary64))
(pow.f64 y #s(literal 1 binary64))
(/.f64 (/.f64 #s(literal 1 binary64) (pow.f64 y #s(literal -1/2 binary64))) (pow.f64 y #s(literal -1/2 binary64)))
(/.f64 (sqrt.f64 #s(literal -1 binary64)) (pow.f64 y #s(literal -1 binary64)))
(/.f64 #s(literal -1 binary64) (pow.f64 y #s(literal -1 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 y #s(literal -1 binary64)))
(neg.f64 y)
(sqrt.f64 (*.f64 y y))
(fabs.f64 y)
(exp.f64 (neg.f64 (*.f64 (log.f64 y) #s(literal -1 binary64))))
(exp.f64 (/.f64 (*.f64 #s(literal 2 binary64) (log.f64 y)) #s(literal 2 binary64)))
(exp.f64 (*.f64 (log.f64 y) #s(literal 1 binary64)))
(exp.f64 (log.f64 y))
(+.f64 (cosh.f64 (log.f64 y)) (sinh.f64 (log.f64 y)))
y
(*.f64 (pow.f64 (*.f64 y y) #s(literal -1/4 binary64)) (pow.f64 (*.f64 y y) #s(literal -1/4 binary64)))
(*.f64 (neg.f64 (pow.f64 y #s(literal -1/2 binary64))) (neg.f64 (pow.f64 y #s(literal -1/2 binary64))))
(*.f64 (neg.f64 (pow.f64 y #s(literal -1/2 binary64))) (pow.f64 y #s(literal -1/2 binary64)))
(*.f64 (fabs.f64 (pow.f64 y #s(literal -1/2 binary64))) (fabs.f64 (pow.f64 y #s(literal -1/2 binary64))))
(*.f64 (pow.f64 #s(literal -1 binary64) #s(literal -1/2 binary64)) (pow.f64 y #s(literal -1 binary64)))
(*.f64 (pow.f64 #s(literal 1 binary64) #s(literal -1/2 binary64)) (pow.f64 y #s(literal -1 binary64)))
(*.f64 (pow.f64 y #s(literal -1/2 binary64)) (neg.f64 (pow.f64 y #s(literal -1/2 binary64))))
(*.f64 (pow.f64 y #s(literal -1/2 binary64)) (pow.f64 y #s(literal -1/2 binary64)))
(pow.f64 (pow.f64 y #s(literal -1/2 binary64)) #s(literal 2 binary64))
(pow.f64 (pow.f64 y #s(literal -2 binary64)) #s(literal 1/2 binary64))
(pow.f64 (*.f64 y y) #s(literal -1/2 binary64))
(pow.f64 y #s(literal -1 binary64))
(/.f64 #s(literal -1 binary64) y)
(/.f64 #s(literal 1 binary64) y)
(neg.f64 (pow.f64 y #s(literal -1 binary64)))
(sqrt.f64 (pow.f64 y #s(literal -2 binary64)))
(fabs.f64 (pow.f64 y #s(literal -1 binary64)))
(exp.f64 (*.f64 (*.f64 #s(literal 2 binary64) (log.f64 y)) #s(literal -1/2 binary64)))
(exp.f64 (*.f64 (log.f64 y) #s(literal -1 binary64)))
(+.f64 (cosh.f64 (*.f64 (log.f64 y) #s(literal -1 binary64))) (sinh.f64 (*.f64 (log.f64 y) #s(literal -1 binary64))))

eval21.0ms (1.1%)

Memory
-4.1MiB live, 40.2MiB allocated
Compiler

Compiled 1 854 to 449 computations (75.8% saved)

prune4.0ms (0.2%)

Memory
11.8MiB live, 11.8MiB allocated
Pruning

6 alts after pruning (1 fresh and 5 done)

PrunedKeptTotal
New1761177
Fresh000
Picked123
Done033
Total1776183
Accuracy
100.0%
Counts
183 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.7%
(/.f64 (*.f64 (neg.f64 y) x) (/.f64 #s(literal -1 binary64) y))
89.7%
(/.f64 x (pow.f64 y #s(literal -2 binary64)))
89.6%
(/.f64 x (/.f64 #s(literal 1 binary64) (*.f64 y y)))
99.6%
(*.f64 (*.f64 (*.f64 (sqrt.f64 y) x) (sqrt.f64 y)) y)
89.7%
(*.f64 (*.f64 y y) x)
99.8%
(*.f64 (*.f64 x y) y)
Compiler

Compiled 39 to 32 computations (17.9% saved)

simplify11.0ms (0.6%)

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

Found 3 expressions of interest:

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

Useful iterations: 1 (0.0ms)

IterNodesCost
0618
0918
11916
24716
312016
422116
535616
645616
746716
046716
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
(/.f64 x (/.f64 #s(literal 1 binary64) (*.f64 y y)))
x
(/.f64 #s(literal 1 binary64) (*.f64 y y))
#s(literal 1 binary64)
(*.f64 y y)
y
Outputs
(/.f64 x (/.f64 #s(literal 1 binary64) (*.f64 y y)))
(*.f64 (*.f64 y y) x)
x
(/.f64 #s(literal 1 binary64) (*.f64 y y))
#s(literal 1 binary64)
(*.f64 y y)
y

localize24.0ms (1.3%)

Memory
-26.2MiB live, 27.5MiB allocated
Localize:

Found 3 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(*.f64 y y)
accuracy0.32625523284803826
(/.f64 #s(literal 1 binary64) (*.f64 y y))
accuracy6.602408747323387
(/.f64 x (/.f64 #s(literal 1 binary64) (*.f64 y y)))
Samples
14.0ms256×0valid
Compiler

Compiled 20 to 8 computations (60% saved)

Precisions
Click to see histograms. Total time spent on operations: 8.0ms
ival-mult: 4.0ms (52.2% of total)
ival-div: 3.0ms (39.2% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series3.0ms (0.1%)

Memory
4.8MiB live, 4.8MiB allocated
Counts
3 → 3
Calls
Call 1
Inputs
(/.f64 x (/.f64 #s(literal 1 binary64) (*.f64 y y)))
(/.f64 #s(literal 1 binary64) (*.f64 y y))
(*.f64 y y)
Outputs
(* x (pow y 2))
(/ 1 (pow y 2))
(pow y 2)
Calls

6 calls:

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

simplify6.0ms (0.3%)

Memory
9.2MiB live, 9.2MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0713
11213
22213
34913
49413
513713
617013
718413
018413
Stop Event
iter limit
saturated
Counts
3 → 3
Calls
Call 1
Inputs
(* x (pow y 2))
(/ 1 (pow y 2))
(pow y 2)
Outputs
(* x (pow y 2))
(*.f64 (*.f64 y y) x)
(/ 1 (pow y 2))
(/.f64 #s(literal 1 binary64) (*.f64 y y))
(pow y 2)
(*.f64 y y)

rewrite59.0ms (3.1%)

Memory
9.4MiB live, 54.1MiB allocated
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0615
0915
13011
210911
337411
099511
Stop Event
iter limit
iter limit
iter limit
unsound
iter limit
Counts
3 → 91
Calls
Call 1
Inputs
(/.f64 x (/.f64 #s(literal 1 binary64) (*.f64 y y)))
(/.f64 #s(literal 1 binary64) (*.f64 y y))
(*.f64 y y)
Outputs
(*.f64 (*.f64 (*.f64 y x) (sqrt.f64 y)) (sqrt.f64 y))
(*.f64 (/.f64 (neg.f64 x) (pow.f64 y #s(literal -1/2 binary64))) (/.f64 y (pow.f64 y #s(literal -1/2 binary64))))
(*.f64 (/.f64 y (pow.f64 y #s(literal -1/2 binary64))) (/.f64 x (pow.f64 y #s(literal -1/2 binary64))))
(*.f64 (/.f64 x (pow.f64 y #s(literal -1/2 binary64))) (/.f64 y (pow.f64 y #s(literal -1/2 binary64))))
(*.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) (*.f64 y x)))
(*.f64 (*.f64 y x) y)
(*.f64 (neg.f64 x) (/.f64 y (pow.f64 y #s(literal -1 binary64))))
(*.f64 (neg.f64 x) (*.f64 y y))
(*.f64 (*.f64 y y) (neg.f64 x))
(*.f64 (*.f64 y y) x)
(*.f64 y (*.f64 y x))
(*.f64 x (/.f64 y (pow.f64 y #s(literal -1 binary64))))
(*.f64 x (*.f64 y y))
(/.f64 (/.f64 (*.f64 y x) (pow.f64 y #s(literal -1/2 binary64))) (pow.f64 y #s(literal -1/2 binary64)))
(/.f64 (*.f64 y x) (pow.f64 y #s(literal -1 binary64)))
(/.f64 (*.f64 (*.f64 y y) x) #s(literal -1 binary64))
(/.f64 (*.f64 (*.f64 y y) x) #s(literal 1 binary64))
(/.f64 (neg.f64 x) (pow.f64 y #s(literal -2 binary64)))
(/.f64 x (pow.f64 y #s(literal -2 binary64)))
(neg.f64 (*.f64 (*.f64 y y) x))
(fma.f64 (cosh.f64 (*.f64 (log.f64 y) #s(literal 2 binary64))) (neg.f64 x) (*.f64 (sinh.f64 (*.f64 (log.f64 y) #s(literal 2 binary64))) (neg.f64 x)))
(fma.f64 (cosh.f64 (*.f64 (log.f64 y) #s(literal 2 binary64))) x (*.f64 (sinh.f64 (*.f64 (log.f64 y) #s(literal 2 binary64))) x))
(fma.f64 (neg.f64 x) (cosh.f64 (*.f64 (log.f64 y) #s(literal 2 binary64))) (*.f64 (neg.f64 x) (sinh.f64 (*.f64 (log.f64 y) #s(literal 2 binary64)))))
(fma.f64 x (cosh.f64 (*.f64 (log.f64 y) #s(literal 2 binary64))) (*.f64 x (sinh.f64 (*.f64 (log.f64 y) #s(literal 2 binary64)))))
(+.f64 (*.f64 (cosh.f64 (*.f64 (log.f64 y) #s(literal 2 binary64))) (neg.f64 x)) (*.f64 (sinh.f64 (*.f64 (log.f64 y) #s(literal 2 binary64))) (neg.f64 x)))
(+.f64 (*.f64 (cosh.f64 (*.f64 (log.f64 y) #s(literal 2 binary64))) x) (*.f64 (sinh.f64 (*.f64 (log.f64 y) #s(literal 2 binary64))) x))
(+.f64 (*.f64 (neg.f64 x) (cosh.f64 (*.f64 (log.f64 y) #s(literal 2 binary64)))) (*.f64 (neg.f64 x) (sinh.f64 (*.f64 (log.f64 y) #s(literal 2 binary64)))))
(+.f64 (*.f64 x (cosh.f64 (*.f64 (log.f64 y) #s(literal 2 binary64)))) (*.f64 x (sinh.f64 (*.f64 (log.f64 y) #s(literal 2 binary64)))))
(*.f64 (*.f64 (pow.f64 y #s(literal -1 binary64)) (pow.f64 y #s(literal -1/2 binary64))) (pow.f64 y #s(literal -1/2 binary64)))
(*.f64 (pow.f64 (pow.f64 y #s(literal -1 binary64)) #s(literal 1 binary64)) (pow.f64 (pow.f64 y #s(literal -1 binary64)) #s(literal 1 binary64)))
(*.f64 (/.f64 #s(literal 1 binary64) (sqrt.f64 y)) (/.f64 (pow.f64 y #s(literal -1 binary64)) (sqrt.f64 y)))
(*.f64 (/.f64 (pow.f64 y #s(literal -1 binary64)) (sqrt.f64 y)) (/.f64 #s(literal 1 binary64) (sqrt.f64 y)))
(*.f64 (/.f64 (pow.f64 y #s(literal -1/2 binary64)) (sqrt.f64 y)) (/.f64 (pow.f64 y #s(literal -1/2 binary64)) (sqrt.f64 y)))
(*.f64 (pow.f64 (sqrt.f64 y) #s(literal -2 binary64)) (pow.f64 (sqrt.f64 y) #s(literal -2 binary64)))
(*.f64 (pow.f64 y #s(literal -1/2 binary64)) (/.f64 (pow.f64 y #s(literal -1/2 binary64)) y))
(*.f64 (pow.f64 y #s(literal -1/2 binary64)) (*.f64 (pow.f64 y #s(literal -1/2 binary64)) (pow.f64 y #s(literal -1 binary64))))
(*.f64 (pow.f64 y #s(literal -1 binary64)) (pow.f64 y #s(literal -1 binary64)))
(*.f64 (pow.f64 y #s(literal -2 binary64)) #s(literal -1 binary64))
(*.f64 (pow.f64 y #s(literal -2 binary64)) #s(literal 1 binary64))
(*.f64 #s(literal -1 binary64) (pow.f64 y #s(literal -2 binary64)))
(*.f64 #s(literal 1 binary64) (pow.f64 y #s(literal -2 binary64)))
(pow.f64 (exp.f64 #s(literal -1 binary64)) (*.f64 (log.f64 y) #s(literal 2 binary64)))
(pow.f64 (pow.f64 y #s(literal 4 binary64)) #s(literal -1/2 binary64))
(pow.f64 (pow.f64 y #s(literal -1 binary64)) #s(literal 2 binary64))
(pow.f64 (*.f64 y y) #s(literal -1 binary64))
(pow.f64 y #s(literal -2 binary64))
(/.f64 (-.f64 (*.f64 (cosh.f64 (*.f64 (log.f64 y) #s(literal 2 binary64))) (cosh.f64 (*.f64 (log.f64 y) #s(literal 2 binary64)))) (*.f64 (sinh.f64 (*.f64 #s(literal -2 binary64) (log.f64 y))) (sinh.f64 (*.f64 #s(literal -2 binary64) (log.f64 y))))) (-.f64 (cosh.f64 (*.f64 (log.f64 y) #s(literal 2 binary64))) (sinh.f64 (*.f64 #s(literal -2 binary64) (log.f64 y)))))
(/.f64 (+.f64 (pow.f64 (cosh.f64 (*.f64 (log.f64 y) #s(literal 2 binary64))) #s(literal 3 binary64)) (pow.f64 (sinh.f64 (*.f64 #s(literal -2 binary64) (log.f64 y))) #s(literal 3 binary64))) (fma.f64 (cosh.f64 (*.f64 (log.f64 y) #s(literal 2 binary64))) (cosh.f64 (*.f64 (log.f64 y) #s(literal 2 binary64))) (-.f64 (*.f64 (sinh.f64 (*.f64 #s(literal -2 binary64) (log.f64 y))) (sinh.f64 (*.f64 #s(literal -2 binary64) (log.f64 y)))) (*.f64 (cosh.f64 (*.f64 (log.f64 y) #s(literal 2 binary64))) (sinh.f64 (*.f64 #s(literal -2 binary64) (log.f64 y)))))))
(/.f64 (/.f64 (pow.f64 y #s(literal -1 binary64)) (sqrt.f64 y)) (sqrt.f64 y))
(/.f64 (pow.f64 y #s(literal -1 binary64)) y)
(/.f64 #s(literal -1 binary64) (*.f64 y y))
(/.f64 #s(literal 1 binary64) (*.f64 y y))
(neg.f64 (pow.f64 y #s(literal -2 binary64)))
(fma.f64 (cosh.f64 (*.f64 (log.f64 y) #s(literal 2 binary64))) #s(literal -1 binary64) (*.f64 (sinh.f64 (*.f64 #s(literal -2 binary64) (log.f64 y))) #s(literal -1 binary64)))
(fma.f64 (cosh.f64 (*.f64 (log.f64 y) #s(literal 2 binary64))) #s(literal 1 binary64) (*.f64 (sinh.f64 (*.f64 #s(literal -2 binary64) (log.f64 y))) #s(literal 1 binary64)))
(fma.f64 #s(literal -1 binary64) (cosh.f64 (*.f64 (log.f64 y) #s(literal 2 binary64))) (*.f64 #s(literal -1 binary64) (sinh.f64 (*.f64 #s(literal -2 binary64) (log.f64 y)))))
(fma.f64 #s(literal 1 binary64) (cosh.f64 (*.f64 (log.f64 y) #s(literal 2 binary64))) (*.f64 #s(literal 1 binary64) (sinh.f64 (*.f64 #s(literal -2 binary64) (log.f64 y)))))
(-.f64 (cosh.f64 (*.f64 (log.f64 y) #s(literal 2 binary64))) (sinh.f64 (*.f64 (log.f64 y) #s(literal 2 binary64))))
(fabs.f64 (pow.f64 y #s(literal -2 binary64)))
(exp.f64 (-.f64 (*.f64 (log.f64 y) #s(literal -1 binary64)) (log.f64 y)))
(exp.f64 (*.f64 (log.f64 (pow.f64 y #s(literal 4 binary64))) #s(literal -1/2 binary64)))
(exp.f64 (*.f64 (log.f64 (pow.f64 y #s(literal -1 binary64))) #s(literal 2 binary64)))
(exp.f64 (*.f64 #s(literal -2 binary64) (log.f64 y)))
(+.f64 (*.f64 (cosh.f64 (*.f64 (log.f64 y) #s(literal 2 binary64))) #s(literal 1 binary64)) (*.f64 (sinh.f64 (*.f64 #s(literal -2 binary64) (log.f64 y))) #s(literal 1 binary64)))
(+.f64 (*.f64 (cosh.f64 (*.f64 (log.f64 y) #s(literal 2 binary64))) #s(literal -1 binary64)) (*.f64 (sinh.f64 (*.f64 #s(literal -2 binary64) (log.f64 y))) #s(literal -1 binary64)))
(+.f64 (*.f64 #s(literal 1 binary64) (cosh.f64 (*.f64 (log.f64 y) #s(literal 2 binary64)))) (*.f64 #s(literal 1 binary64) (sinh.f64 (*.f64 #s(literal -2 binary64) (log.f64 y)))))
(+.f64 (*.f64 #s(literal -1 binary64) (cosh.f64 (*.f64 (log.f64 y) #s(literal 2 binary64)))) (*.f64 #s(literal -1 binary64) (sinh.f64 (*.f64 #s(literal -2 binary64) (log.f64 y)))))
(+.f64 (neg.f64 (cosh.f64 (*.f64 (log.f64 y) #s(literal 2 binary64)))) (neg.f64 (sinh.f64 (*.f64 #s(literal -2 binary64) (log.f64 y)))))
(+.f64 (cosh.f64 (*.f64 (log.f64 y) #s(literal 2 binary64))) (sinh.f64 (*.f64 #s(literal -2 binary64) (log.f64 y))))
(+.f64 (sinh.f64 (*.f64 #s(literal -2 binary64) (log.f64 y))) (cosh.f64 (*.f64 (log.f64 y) #s(literal 2 binary64))))
(*.f64 (*.f64 y (sqrt.f64 y)) (sqrt.f64 y))
(*.f64 (sqrt.f64 y) (*.f64 (sqrt.f64 y) y))
(*.f64 y y)
(pow.f64 (exp.f64 #s(literal 2 binary64)) (log.f64 y))
(pow.f64 (pow.f64 y #s(literal 4 binary64)) #s(literal 1/2 binary64))
(pow.f64 (*.f64 y y) #s(literal 1 binary64))
(pow.f64 y #s(literal 2 binary64))
(/.f64 (-.f64 (*.f64 (cosh.f64 (*.f64 (log.f64 y) #s(literal 2 binary64))) (cosh.f64 (*.f64 (log.f64 y) #s(literal 2 binary64)))) (*.f64 (sinh.f64 (*.f64 (log.f64 y) #s(literal 2 binary64))) (sinh.f64 (*.f64 (log.f64 y) #s(literal 2 binary64))))) (pow.f64 y #s(literal -2 binary64)))
(/.f64 (+.f64 (pow.f64 (cosh.f64 (*.f64 (log.f64 y) #s(literal 2 binary64))) #s(literal 3 binary64)) (pow.f64 (sinh.f64 (*.f64 (log.f64 y) #s(literal 2 binary64))) #s(literal 3 binary64))) (fma.f64 (cosh.f64 (*.f64 (log.f64 y) #s(literal 2 binary64))) (cosh.f64 (*.f64 (log.f64 y) #s(literal 2 binary64))) (-.f64 (*.f64 (sinh.f64 (*.f64 (log.f64 y) #s(literal 2 binary64))) (sinh.f64 (*.f64 (log.f64 y) #s(literal 2 binary64)))) (*.f64 (cosh.f64 (*.f64 (log.f64 y) #s(literal 2 binary64))) (sinh.f64 (*.f64 (log.f64 y) #s(literal 2 binary64)))))))
(/.f64 (*.f64 y y) #s(literal -1 binary64))
(/.f64 (*.f64 y y) #s(literal 1 binary64))
(neg.f64 (*.f64 y y))
(fma.f64 #s(literal 2 binary64) (*.f64 (sinh.f64 (log.f64 y)) (cosh.f64 (log.f64 y))) (cosh.f64 (*.f64 (log.f64 y) #s(literal 2 binary64))))
(sqrt.f64 (pow.f64 y #s(literal 4 binary64)))
(fabs.f64 (*.f64 y y))
(exp.f64 (*.f64 (*.f64 (log.f64 y) #s(literal 2 binary64)) #s(literal 1 binary64)))
(exp.f64 (*.f64 (log.f64 y) #s(literal 2 binary64)))
(+.f64 (neg.f64 (cosh.f64 (*.f64 (log.f64 y) #s(literal 2 binary64)))) (neg.f64 (sinh.f64 (*.f64 (log.f64 y) #s(literal 2 binary64)))))
(+.f64 (/.f64 (cosh.f64 (*.f64 (log.f64 y) #s(literal 2 binary64))) #s(literal 1 binary64)) (/.f64 (sinh.f64 (*.f64 (log.f64 y) #s(literal 2 binary64))) #s(literal 1 binary64)))
(+.f64 (sinh.f64 (*.f64 (log.f64 y) #s(literal 2 binary64))) (cosh.f64 (*.f64 (log.f64 y) #s(literal 2 binary64))))
(+.f64 (cosh.f64 (*.f64 (log.f64 y) #s(literal 2 binary64))) (sinh.f64 (*.f64 (log.f64 y) #s(literal 2 binary64))))

eval219.0ms (11.3%)

Memory
-22.9MiB live, 22.6MiB allocated
Compiler

Compiled 1 131 to 271 computations (76% saved)

prune4.0ms (0.2%)

Memory
10.7MiB live, 10.7MiB allocated
Pruning

6 alts after pruning (0 fresh and 6 done)

PrunedKeptTotal
New94094
Fresh000
Picked011
Done055
Total946100
Accuracy
100.0%
Counts
100 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.7%
(/.f64 (*.f64 (neg.f64 y) x) (/.f64 #s(literal -1 binary64) y))
89.7%
(/.f64 x (pow.f64 y #s(literal -2 binary64)))
89.6%
(/.f64 x (/.f64 #s(literal 1 binary64) (*.f64 y y)))
99.6%
(*.f64 (*.f64 (*.f64 (sqrt.f64 y) x) (sqrt.f64 y)) y)
89.7%
(*.f64 (*.f64 y y) x)
99.8%
(*.f64 (*.f64 x y) y)
Compiler

Compiled 102 to 59 computations (42.2% saved)

regimes42.0ms (2.1%)

Memory
-28.8MiB live, 17.3MiB allocated
Accuracy

Total -6.8b remaining (-5974.9%)

Threshold costs -6.8b (-5974.9%)

Counts
9 → 1
Calls
Call 1
Inputs
(*.f64 (*.f64 x y) y)
(*.f64 (*.f64 y y) x)
(/.f64 x (/.f64 #s(literal 1 binary64) (*.f64 y y)))
(/.f64 (*.f64 (neg.f64 y) x) (/.f64 #s(literal -1 binary64) y))
(/.f64 (*.f64 x #s(literal 1 binary64)) (/.f64 #s(literal 1 binary64) (*.f64 y y)))
(*.f64 (*.f64 (*.f64 (sqrt.f64 y) x) (sqrt.f64 y)) y)
(/.f64 x (pow.f64 y #s(literal -2 binary64)))
(/.f64 (*.f64 x #s(literal 1 binary64)) (pow.f64 y #s(literal -2 binary64)))
(*.f64 (pow.f64 y #s(literal 3/2 binary64)) (*.f64 (sqrt.f64 y) x))
Outputs
(*.f64 (*.f64 x y) y)
Calls

3 calls:

36.0ms
(*.f64 (*.f64 x y) y)
3.0ms
y
3.0ms
x
Results
AccuracySegmentsBranch
99.8%1(*.f64 (*.f64 x y) y)
99.8%1x
99.8%1y
Compiler

Compiled 7 to 8 computations (-14.3% saved)

simplify9.0ms (0.5%)

Memory
21.3MiB live, 21.3MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
045
Stop Event
saturated
Calls
Call 1
Inputs
(*.f64 (*.f64 x y) y)
Outputs
(*.f64 (*.f64 x y) y)

soundness0.0ms (0%)

Memory
0.9MiB live, 0.9MiB allocated
Stop Event
done
Compiler

Compiled 5 to 4 computations (20% saved)

preprocess57.0ms (2.9%)

Memory
8.3MiB live, 61.2MiB allocated
Remove

(negabs x)

(abs y)

Compiler

Compiled 60 to 48 computations (20% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...