sqrt C (should all be same)

Time bar (total: 7.6s)

start0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

analyze0.0ms (0%)

Memory
0.2MiB live, 0.2MiB allocated
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%100%0%0%0%0%0
0%0%100%0%0%0%0%1
100%100%0%0%0%0%0%2
Compiler

Compiled 8 to 7 computations (12.5% saved)

sample769.0ms (10.1%)

Memory
-31.8MiB live, 725.4MiB allocated
Samples
479.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 222.0ms
ival-mult: 136.0ms (61.3% of total)
ival-sqrt: 73.0ms (32.9% of total)
ival-true: 5.0ms (2.3% of total)
exact: 5.0ms (2.3% of total)
ival-assert: 3.0ms (1.4% of total)
Bogosity

explain60.0ms (0.8%)

Memory
16.0MiB live, 64.2MiB allocated
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
1190-4(-2.487923194383986e-161)(sqrt.f64 (*.f64 #s(literal 2 binary64) (*.f64 x x)))
00-0-#s(literal 2 binary64)
00-0-(*.f64 x x)
01(1.3538962241845747e-162)0-(*.f64 #s(literal 2 binary64) (*.f64 x x))
00-0-x
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
sqrt.f64(sqrt.f64 (*.f64 #s(literal 2 binary64) (*.f64 x x)))oflow-rescue590
(*.f64 #s(literal 2 binary64) (*.f64 x x))overflow59
(*.f64 x x)overflow59
sqrt.f64(sqrt.f64 (*.f64 #s(literal 2 binary64) (*.f64 x x)))uflow-rescue560
(*.f64 #s(literal 2 binary64) (*.f64 x x))underflow56
(*.f64 x x)underflow57
*.f64(*.f64 #s(literal 2 binary64) (*.f64 x x))n*u10
Confusion
Predicted +Predicted -
+1163
-0137
Precision
1.0
Recall
0.9747899159663865
Confusion?
Predicted +Predicted MaybePredicted -
+11603
-00137
Precision?
1.0
Recall?
0.9747899159663865
Freqs
test
numberfreq
0140
1116
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Samples
22.0ms512×0valid
Compiler

Compiled 42 to 19 computations (54.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 11.0ms
ival-mult: 7.0ms (62.8% of total)
ival-sqrt: 3.0ms (26.9% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

preprocess17.0ms (0.2%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0713
12213
28313
313113
422313
524913
626913
056
086
1186
2566
31226
41876
52236
62466
72666
02663
Stop Event
iter limit
saturated
iter limit
saturated
Calls
Call 1
Inputs
(sqrt.f64 (*.f64 #s(literal 2 binary64) (*.f64 x x)))
Outputs
(sqrt.f64 (*.f64 #s(literal 2 binary64) (*.f64 x x)))
(hypot.f64 x x)
Symmetry

(abs x)

Compiler

Compiled 6 to 5 computations (16.7% saved)

eval0.0ms (0%)

Memory
0.1MiB live, 0.1MiB allocated
Compiler

Compiled 0 to 1 computations (-∞% saved)

prune1.0ms (0%)

Memory
0.8MiB live, 0.8MiB allocated
Alt Table
Click to see full alt table
StatusAccuracyProgram
57.3%
(sqrt.f64 (*.f64 #s(literal 2 binary64) (*.f64 x x)))
Compiler

Compiled 6 to 5 computations (16.7% saved)

simplify6.0ms (0.1%)

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

Found 3 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 x x)
cost-diff0
(*.f64 #s(literal 2 binary64) (*.f64 x x))
cost-diff3
(sqrt.f64 (*.f64 #s(literal 2 binary64) (*.f64 x x)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0516
0816
11816
25616
312216
418716
522316
624616
726616
026613
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
(sqrt.f64 (*.f64 #s(literal 2 binary64) (*.f64 x x)))
(*.f64 #s(literal 2 binary64) (*.f64 x x))
#s(literal 2 binary64)
(*.f64 x x)
x
Outputs
(sqrt.f64 (*.f64 #s(literal 2 binary64) (*.f64 x x)))
(hypot.f64 x x)
(*.f64 #s(literal 2 binary64) (*.f64 x x))
(*.f64 (*.f64 x x) #s(literal 2 binary64))
#s(literal 2 binary64)
(*.f64 x x)
x

localize23.0ms (0.3%)

Memory
-25.5MiB live, 19.9MiB allocated
Localize:

Found 3 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(*.f64 x x)
accuracy0.015625
(*.f64 #s(literal 2 binary64) (*.f64 x x))
accuracy27.281358431095693
(sqrt.f64 (*.f64 #s(literal 2 binary64) (*.f64 x x)))
Samples
18.0ms256×0valid
Compiler

Compiled 18 to 7 computations (61.1% saved)

Precisions
Click to see histograms. Total time spent on operations: 13.0ms
ival-sqrt: 9.0ms (69.5% of total)
ival-mult: 3.0ms (23.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%)

Memory
4.3MiB live, 4.3MiB allocated
Counts
3 → 4
Calls
Call 1
Inputs
(sqrt.f64 (*.f64 #s(literal 2 binary64) (*.f64 x x)))
(*.f64 #s(literal 2 binary64) (*.f64 x x))
(*.f64 x x)
Outputs
(* x (sqrt 2))
(* 2 (pow x 2))
(pow x 2)
(* -1 (* x (sqrt 2)))
Calls

3 calls:

TimeVariablePointExpression
1.0ms
x
@inf
((sqrt (* 2 (* x x))) (* 2 (* x x)) (* x x))
1.0ms
x
@0
((sqrt (* 2 (* x x))) (* 2 (* x x)) (* x x))
1.0ms
x
@-inf
((sqrt (* 2 (* x x))) (* 2 (* x x)) (* x x))

simplify8.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0817
11817
24317
39217
422817
543717
648517
048517
Stop Event
iter limit
saturated
Counts
4 → 4
Calls
Call 1
Inputs
(* x (sqrt 2))
(* 2 (pow x 2))
(pow x 2)
(* -1 (* x (sqrt 2)))
Outputs
(* x (sqrt 2))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) x)
(* 2 (pow x 2))
(*.f64 (*.f64 #s(literal 2 binary64) x) x)
(pow x 2)
(*.f64 x x)
(* -1 (* x (sqrt 2)))
(*.f64 (neg.f64 x) (sqrt.f64 #s(literal 2 binary64)))

rewrite36.0ms (0.5%)

Memory
-9.6MiB live, 36.6MiB allocated
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0514
0813
12413
21025
07775
Stop Event
iter limit
iter limit
iter limit
unsound
iter limit
Counts
3 → 15
Calls
Call 1
Inputs
(sqrt.f64 (*.f64 #s(literal 2 binary64) (*.f64 x x)))
(*.f64 #s(literal 2 binary64) (*.f64 x x))
(*.f64 x x)
Outputs
#s(literal 0 binary64)
#s(literal 0 binary64)
(*.f64 (*.f64 x (sqrt.f64 x)) (sqrt.f64 x))
(*.f64 (exp.f64 (log.f64 x)) (exp.f64 (log.f64 x)))
(*.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) x))
(*.f64 x x)
(pow.f64 (exp.f64 (log.f64 x)) #s(literal 2 binary64))
(pow.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 1/2 binary64))
(pow.f64 x #s(literal 2 binary64))
(pow.f64 (*.f64 x x) #s(literal 1 binary64))
(neg.f64 (*.f64 x x))
(sqrt.f64 (pow.f64 x #s(literal 4 binary64)))
(fabs.f64 (*.f64 x x))
(exp.f64 (*.f64 (log.f64 x) #s(literal 2 binary64)))
(+.f64 (cosh.f64 (*.f64 (log.f64 x) #s(literal 2 binary64))) (sinh.f64 (*.f64 (log.f64 x) #s(literal 2 binary64))))

eval2.0ms (0%)

Memory
4.6MiB live, 4.6MiB allocated
Compiler

Compiled 155 to 71 computations (54.2% saved)

prune1.0ms (0%)

Memory
3.6MiB live, 3.6MiB allocated
Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New15318
Fresh000
Picked011
Done000
Total15419
Accuracy
99.6%
Counts
19 → 4
Alt Table
Click to see full alt table
StatusAccuracyProgram
57.1%
(sqrt.f64 (*.f64 #s(literal 2 binary64) (*.f64 (*.f64 x (sqrt.f64 x)) (sqrt.f64 x))))
57.3%
(sqrt.f64 (*.f64 #s(literal 2 binary64) (*.f64 x x)))
99.3%
#s(approx (sqrt (* 2 (* x x))) (*.f64 (sqrt.f64 #s(literal 2 binary64)) x))
3.8%
#s(literal 0 binary64)
Compiler

Compiled 28 to 23 computations (17.9% saved)

simplify12.0ms (0.2%)

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

Found 7 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 x (sqrt.f64 x))
cost-diff0
(*.f64 #s(literal 2 binary64) (*.f64 (*.f64 x (sqrt.f64 x)) (sqrt.f64 x)))
cost-diff3
(sqrt.f64 (*.f64 #s(literal 2 binary64) (*.f64 (*.f64 x (sqrt.f64 x)) (sqrt.f64 x))))
cost-diff4
(*.f64 (*.f64 x (sqrt.f64 x)) (sqrt.f64 x))
cost-diff0
(sqrt.f64 #s(literal 2 binary64))
cost-diff0
(*.f64 (sqrt.f64 #s(literal 2 binary64)) x)
cost-diff0
#s(approx (sqrt (* 2 (* x x))) (*.f64 (sqrt.f64 #s(literal 2 binary64)) x))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01454
02154
14042
210442
324842
442242
550442
654442
757842
057836
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
#s(literal 0 binary64)
#s(approx (sqrt (* 2 (* x x))) (*.f64 (sqrt.f64 #s(literal 2 binary64)) x))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) x)
(sqrt.f64 #s(literal 2 binary64))
#s(literal 2 binary64)
x
(sqrt.f64 (*.f64 #s(literal 2 binary64) (*.f64 (*.f64 x (sqrt.f64 x)) (sqrt.f64 x))))
(*.f64 #s(literal 2 binary64) (*.f64 (*.f64 x (sqrt.f64 x)) (sqrt.f64 x)))
#s(literal 2 binary64)
(*.f64 (*.f64 x (sqrt.f64 x)) (sqrt.f64 x))
(*.f64 x (sqrt.f64 x))
x
(sqrt.f64 x)
Outputs
#s(literal 0 binary64)
#s(approx (sqrt (* 2 (* x x))) (*.f64 (sqrt.f64 #s(literal 2 binary64)) x))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) x)
(sqrt.f64 #s(literal 2 binary64))
#s(literal 2 binary64)
x
(sqrt.f64 (*.f64 #s(literal 2 binary64) (*.f64 (*.f64 x (sqrt.f64 x)) (sqrt.f64 x))))
(hypot.f64 x x)
(*.f64 #s(literal 2 binary64) (*.f64 (*.f64 x (sqrt.f64 x)) (sqrt.f64 x)))
(*.f64 (*.f64 x x) #s(literal 2 binary64))
#s(literal 2 binary64)
(*.f64 (*.f64 x (sqrt.f64 x)) (sqrt.f64 x))
(*.f64 x x)
(*.f64 x (sqrt.f64 x))
(*.f64 (sqrt.f64 x) x)
x
(sqrt.f64 x)

localize68.0ms (0.9%)

Memory
-43.6MiB live, 52.3MiB allocated
Localize:

Found 7 expressions of interest:

NewMetricScoreProgram
accuracy0.015625
(*.f64 #s(literal 2 binary64) (*.f64 (*.f64 x (sqrt.f64 x)) (sqrt.f64 x)))
accuracy0.158535009768442
(*.f64 (*.f64 x (sqrt.f64 x)) (sqrt.f64 x))
accuracy0.19140625
(*.f64 x (sqrt.f64 x))
accuracy27.281358431095693
(sqrt.f64 (*.f64 #s(literal 2 binary64) (*.f64 (*.f64 x (sqrt.f64 x)) (sqrt.f64 x))))
accuracy0.0
(sqrt.f64 #s(literal 2 binary64))
accuracy0.0
#s(approx (sqrt (* 2 (* x x))) (*.f64 (sqrt.f64 #s(literal 2 binary64)) x))
accuracy0.4453125
(*.f64 (sqrt.f64 #s(literal 2 binary64)) x)
Samples
31.0ms256×0valid
Compiler

Compiled 51 to 15 computations (70.6% saved)

Precisions
Click to see histograms. Total time spent on operations: 18.0ms
ival-mult: 12.0ms (66% of total)
ival-sqrt: 6.0ms (33% 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.1%)

Memory
9.2MiB live, 9.2MiB allocated
Counts
7 → 9
Calls
Call 1
Inputs
#s(approx (sqrt (* 2 (* x x))) (*.f64 (sqrt.f64 #s(literal 2 binary64)) x))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) x)
(sqrt.f64 #s(literal 2 binary64))
(*.f64 (*.f64 x (sqrt.f64 x)) (sqrt.f64 x))
(sqrt.f64 (*.f64 #s(literal 2 binary64) (*.f64 (*.f64 x (sqrt.f64 x)) (sqrt.f64 x))))
(*.f64 #s(literal 2 binary64) (*.f64 (*.f64 x (sqrt.f64 x)) (sqrt.f64 x)))
(*.f64 x (sqrt.f64 x))
Outputs
(* x (sqrt 2))
(pow x 2)
(* 2 (pow x 2))
(sqrt (pow x 3))
(* -1 (* x (sqrt 2)))
(* -1 (* (pow x 2) (pow (sqrt -1) 2)))
(* -1 (* x (* (sqrt -2) (sqrt -1))))
(* -2 (* (pow x 2) (pow (sqrt -1) 2)))
(* -1 (* (sqrt (pow x 3)) (pow (sqrt -1) 2)))
Calls

3 calls:

TimeVariablePointExpression
4.0ms
x
@-inf
((sqrt (* 2 (* x x))) (* (sqrt 2) x) (sqrt 2) (* (* x (sqrt x)) (sqrt x)) (sqrt (* 2 (* (* x (sqrt x)) (sqrt x)))) (* 2 (* (* x (sqrt x)) (sqrt x))) (* x (sqrt x)))
1.0ms
x
@inf
((sqrt (* 2 (* x x))) (* (sqrt 2) x) (sqrt 2) (* (* x (sqrt x)) (sqrt x)) (sqrt (* 2 (* (* x (sqrt x)) (sqrt x)))) (* 2 (* (* x (sqrt x)) (sqrt x))) (* x (sqrt x)))
1.0ms
x
@0
((sqrt (* 2 (* x x))) (* (sqrt 2) x) (sqrt 2) (* (* x (sqrt x)) (sqrt x)) (sqrt (* 2 (* (* x (sqrt x)) (sqrt x)))) (* 2 (* (* x (sqrt x)) (sqrt x))) (* x (sqrt x)))

simplify137.0ms (1.8%)

Memory
34.3MiB live, 79.9MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 5 (0.0ms)

IterNodesCost
02341
15641
217141
344341
4123941
5264233
6359833
7403033
8438233
9442533
10442533
11442533
12532733
13543133
14543133
15544333
16544333
17593233
18674333
0674333
Stop Event
iter limit
saturated
Counts
9 → 9
Calls
Call 1
Inputs
(* x (sqrt 2))
(pow x 2)
(* 2 (pow x 2))
(sqrt (pow x 3))
(* -1 (* x (sqrt 2)))
(* -1 (* (pow x 2) (pow (sqrt -1) 2)))
(* -1 (* x (* (sqrt -2) (sqrt -1))))
(* -2 (* (pow x 2) (pow (sqrt -1) 2)))
(* -1 (* (sqrt (pow x 3)) (pow (sqrt -1) 2)))
Outputs
(* x (sqrt 2))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) x)
(pow x 2)
(*.f64 x x)
(* 2 (pow x 2))
#s(literal 0 binary64)
(sqrt (pow x 3))
(sqrt.f64 (pow.f64 x #s(literal 3 binary64)))
(* -1 (* x (sqrt 2)))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (neg.f64 x))
(* -1 (* (pow x 2) (pow (sqrt -1) 2)))
(*.f64 x x)
(* -1 (* x (* (sqrt -2) (sqrt -1))))
(*.f64 (neg.f64 (sqrt.f64 #s(literal -1 binary64))) (*.f64 (sqrt.f64 #s(literal -2 binary64)) x))
(* -2 (* (pow x 2) (pow (sqrt -1) 2)))
#s(literal 0 binary64)
(* -1 (* (sqrt (pow x 3)) (pow (sqrt -1) 2)))
(sqrt.f64 (pow.f64 x #s(literal 3 binary64)))

rewrite87.0ms (1.1%)

Memory
-21.2MiB live, 72.0MiB allocated
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01347
02036
14929
218814
099814
Stop Event
iter limit
iter limit
iter limit
unsound
iter limit
Counts
7 → 64
Calls
Call 1
Inputs
#s(approx (sqrt (* 2 (* x x))) (*.f64 (sqrt.f64 #s(literal 2 binary64)) x))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) x)
(sqrt.f64 #s(literal 2 binary64))
(*.f64 (*.f64 x (sqrt.f64 x)) (sqrt.f64 x))
(sqrt.f64 (*.f64 #s(literal 2 binary64) (*.f64 (*.f64 x (sqrt.f64 x)) (sqrt.f64 x))))
(*.f64 #s(literal 2 binary64) (*.f64 (*.f64 x (sqrt.f64 x)) (sqrt.f64 x)))
(*.f64 x (sqrt.f64 x))
Outputs
#s(approx (sqrt (* 2 (* x x))) #s(literal 0 binary64))
#s(literal 0 binary64)
(*.f64 (neg.f64 (pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64))) (neg.f64 (pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64))))
(*.f64 (fabs.f64 (pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64))) (fabs.f64 (pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64))))
(*.f64 (pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64)) (pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64)))
(pow.f64 (exp.f64 (log.f64 #s(literal 2 binary64))) #s(literal 1/2 binary64))
(pow.f64 #s(literal 4 binary64) #s(literal 1/4 binary64))
(pow.f64 (pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64)) #s(literal 2 binary64))
(pow.f64 #s(literal 2 binary64) #s(literal 1/2 binary64))
(sqrt.f64 #s(literal 2 binary64))
(exp.f64 (*.f64 (log.f64 #s(literal 2 binary64)) #s(literal 1/2 binary64)))
(+.f64 (cosh.f64 (*.f64 (log.f64 #s(literal 2 binary64)) #s(literal 1/2 binary64))) (sinh.f64 (*.f64 (log.f64 #s(literal 2 binary64)) #s(literal 1/2 binary64))))
(*.f64 (*.f64 x (pow.f64 x #s(literal 3/4 binary64))) (pow.f64 x #s(literal 1/4 binary64)))
(*.f64 (*.f64 x (pow.f64 x #s(literal 1/4 binary64))) (pow.f64 x #s(literal 3/4 binary64)))
(*.f64 (*.f64 (pow.f64 x #s(literal 3/2 binary64)) (pow.f64 x #s(literal 1/4 binary64))) (pow.f64 x #s(literal 1/4 binary64)))
(*.f64 (fabs.f64 (pow.f64 x #s(literal 3/2 binary64))) (sqrt.f64 x))
(*.f64 (exp.f64 (log.f64 x)) (exp.f64 (log.f64 x)))
(*.f64 (pow.f64 (pow.f64 x #s(literal 3/4 binary64)) #s(literal 2 binary64)) (sqrt.f64 x))
(*.f64 (pow.f64 x #s(literal 1/4 binary64)) (*.f64 (pow.f64 x #s(literal 1/4 binary64)) (pow.f64 x #s(literal 3/2 binary64))))
(*.f64 (pow.f64 x #s(literal 1/4 binary64)) (*.f64 (pow.f64 x #s(literal 3/4 binary64)) x))
(*.f64 (neg.f64 (sqrt.f64 x)) (pow.f64 x #s(literal 3/2 binary64)))
(*.f64 (pow.f64 x #s(literal 3/4 binary64)) (*.f64 (pow.f64 x #s(literal 1/4 binary64)) x))
(*.f64 (pow.f64 x #s(literal 3/2 binary64)) (neg.f64 (sqrt.f64 x)))
(*.f64 (pow.f64 x #s(literal 3/2 binary64)) (sqrt.f64 x))
(*.f64 (sqrt.f64 x) (fabs.f64 (pow.f64 x #s(literal 3/2 binary64))))
(*.f64 (sqrt.f64 x) (pow.f64 (pow.f64 x #s(literal 3/4 binary64)) #s(literal 2 binary64)))
(*.f64 (sqrt.f64 x) (pow.f64 x #s(literal 3/2 binary64)))
(*.f64 x x)
(pow.f64 (exp.f64 (log.f64 x)) #s(literal 2 binary64))
(pow.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal 1/2 binary64))
(pow.f64 (*.f64 x x) #s(literal 1 binary64))
(pow.f64 (sqrt.f64 x) #s(literal 4 binary64))
(pow.f64 x #s(literal 2 binary64))
(neg.f64 (*.f64 x x))
(sqrt.f64 (pow.f64 x #s(literal 4 binary64)))
(fabs.f64 (*.f64 x x))
(exp.f64 (*.f64 (log.f64 x) #s(literal 2 binary64)))
(+.f64 (cosh.f64 (*.f64 (log.f64 x) #s(literal 2 binary64))) (sinh.f64 (*.f64 (log.f64 x) #s(literal 2 binary64))))
#s(literal 0 binary64)
#s(literal 0 binary64)
(*.f64 (*.f64 (sqrt.f64 x) (pow.f64 x #s(literal 3/4 binary64))) (pow.f64 x #s(literal 1/4 binary64)))
(*.f64 (*.f64 x (pow.f64 x #s(literal 1/4 binary64))) (pow.f64 x #s(literal 1/4 binary64)))
(*.f64 (*.f64 (pow.f64 x #s(literal 1/4 binary64)) (neg.f64 (sqrt.f64 x))) (*.f64 (pow.f64 x #s(literal 1/4 binary64)) (neg.f64 (sqrt.f64 x))))
(*.f64 (*.f64 (neg.f64 (sqrt.f64 x)) (pow.f64 x #s(literal 1/4 binary64))) (*.f64 (neg.f64 (sqrt.f64 x)) (pow.f64 x #s(literal 1/4 binary64))))
(*.f64 (pow.f64 (neg.f64 (sqrt.f64 x)) #s(literal 3/2 binary64)) (pow.f64 (neg.f64 (sqrt.f64 x)) #s(literal 3/2 binary64)))
(*.f64 (pow.f64 (pow.f64 x #s(literal 3/4 binary64)) #s(literal 3/2 binary64)) (pow.f64 (pow.f64 x #s(literal 1/4 binary64)) #s(literal 3/2 binary64)))
(*.f64 (pow.f64 (pow.f64 x #s(literal 1/4 binary64)) #s(literal 3/2 binary64)) (pow.f64 (pow.f64 x #s(literal 3/4 binary64)) #s(literal 3/2 binary64)))
(*.f64 (pow.f64 (sqrt.f64 x) #s(literal 3/2 binary64)) (pow.f64 (sqrt.f64 x) #s(literal 3/2 binary64)))
(*.f64 (pow.f64 x #s(literal 1/4 binary64)) (*.f64 (pow.f64 x #s(literal 3/4 binary64)) (sqrt.f64 x)))
(*.f64 (pow.f64 x #s(literal 1/4 binary64)) (*.f64 (pow.f64 x #s(literal 1/4 binary64)) x))
(*.f64 (neg.f64 (sqrt.f64 x)) x)
(*.f64 (pow.f64 x #s(literal 3/4 binary64)) (pow.f64 x #s(literal 3/4 binary64)))
(*.f64 (sqrt.f64 x) x)
(*.f64 x (neg.f64 (sqrt.f64 x)))
(*.f64 x (sqrt.f64 x))
(pow.f64 (*.f64 x (*.f64 x x)) #s(literal 1/2 binary64))
(pow.f64 (*.f64 (*.f64 x x) x) #s(literal 1/2 binary64))
(pow.f64 (*.f64 x x) #s(literal 3/4 binary64))
(pow.f64 (sqrt.f64 x) #s(literal 3 binary64))
(pow.f64 x #s(literal 3/2 binary64))
(neg.f64 (pow.f64 x #s(literal 3/2 binary64)))
(sqrt.f64 (*.f64 x (*.f64 x x)))
(sqrt.f64 (*.f64 (*.f64 x x) x))
(exp.f64 (*.f64 (log.f64 x) #s(literal 3/2 binary64)))

eval8.0ms (0.1%)

Memory
17.4MiB live, 17.4MiB allocated
Compiler

Compiled 826 to 280 computations (66.1% saved)

prune3.0ms (0%)

Memory
6.0MiB live, 6.0MiB allocated
Pruning

7 alts after pruning (3 fresh and 4 done)

PrunedKeptTotal
New65368
Fresh000
Picked033
Done011
Total65772
Accuracy
99.9%
Counts
72 → 7
Alt Table
Click to see full alt table
StatusAccuracyProgram
56.9%
(sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 (sqrt.f64 x) #s(literal 4 binary64))))
57.1%
(sqrt.f64 (*.f64 #s(literal 2 binary64) (*.f64 (*.f64 x (sqrt.f64 x)) (sqrt.f64 x))))
38.6%
(sqrt.f64 (*.f64 #s(literal 2 binary64) (*.f64 (sqrt.f64 (*.f64 (*.f64 x x) x)) (sqrt.f64 x))))
57.3%
(sqrt.f64 (*.f64 #s(literal 2 binary64) (*.f64 x x)))
99.1%
#s(approx (sqrt (* 2 (* x x))) (*.f64 (pow.f64 (pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64)) #s(literal 2 binary64)) x))
99.3%
#s(approx (sqrt (* 2 (* x x))) (*.f64 (sqrt.f64 #s(literal 2 binary64)) x))
3.8%
#s(literal 0 binary64)
Compiler

Compiled 61 to 50 computations (18% saved)

simplify33.0ms (0.4%)

Memory
-36.6MiB live, 10.2MiB allocated
Algorithm
egg-herbie
Localize:

Found 12 expressions of interest:

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

Useful iterations: 0 (0.0ms)

IterNodesCost
021104
034104
15488
212885
324885
441185
552785
661685
766085
868085
969085
069082
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
#s(approx (sqrt (* 2 (* x x))) (*.f64 (pow.f64 (pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64)) #s(literal 2 binary64)) x))
(*.f64 (pow.f64 (pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64)) #s(literal 2 binary64)) x)
(pow.f64 (pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64)) #s(literal 2 binary64))
(pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64))
#s(literal 2 binary64)
#s(literal 1/4 binary64)
x
(sqrt.f64 (*.f64 #s(literal 2 binary64) (*.f64 (sqrt.f64 (*.f64 (*.f64 x x) x)) (sqrt.f64 x))))
(*.f64 #s(literal 2 binary64) (*.f64 (sqrt.f64 (*.f64 (*.f64 x x) x)) (sqrt.f64 x)))
#s(literal 2 binary64)
(*.f64 (sqrt.f64 (*.f64 (*.f64 x x) x)) (sqrt.f64 x))
(sqrt.f64 (*.f64 (*.f64 x x) x))
(*.f64 (*.f64 x x) x)
(*.f64 x x)
x
(sqrt.f64 x)
(sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 (sqrt.f64 x) #s(literal 4 binary64))))
(*.f64 #s(literal 2 binary64) (pow.f64 (sqrt.f64 x) #s(literal 4 binary64)))
#s(literal 2 binary64)
(pow.f64 (sqrt.f64 x) #s(literal 4 binary64))
(sqrt.f64 x)
x
#s(literal 4 binary64)
Outputs
#s(approx (sqrt (* 2 (* x x))) (*.f64 (pow.f64 (pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64)) #s(literal 2 binary64)) x))
#s(approx (sqrt (* 2 (* x x))) (*.f64 (sqrt.f64 #s(literal 2 binary64)) x))
(*.f64 (pow.f64 (pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64)) #s(literal 2 binary64)) x)
(*.f64 (sqrt.f64 #s(literal 2 binary64)) x)
(pow.f64 (pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64)) #s(literal 2 binary64))
(sqrt.f64 #s(literal 2 binary64))
(pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64))
#s(literal 2 binary64)
#s(literal 1/4 binary64)
x
(sqrt.f64 (*.f64 #s(literal 2 binary64) (*.f64 (sqrt.f64 (*.f64 (*.f64 x x) x)) (sqrt.f64 x))))
(sqrt.f64 (*.f64 (*.f64 (sqrt.f64 x) #s(literal 2 binary64)) (sqrt.f64 (pow.f64 x #s(literal 3 binary64)))))
(*.f64 #s(literal 2 binary64) (*.f64 (sqrt.f64 (*.f64 (*.f64 x x) x)) (sqrt.f64 x)))
(*.f64 (*.f64 (sqrt.f64 x) #s(literal 2 binary64)) (sqrt.f64 (pow.f64 x #s(literal 3 binary64))))
#s(literal 2 binary64)
(*.f64 (sqrt.f64 (*.f64 (*.f64 x x) x)) (sqrt.f64 x))
(*.f64 (sqrt.f64 x) (sqrt.f64 (pow.f64 x #s(literal 3 binary64))))
(sqrt.f64 (*.f64 (*.f64 x x) x))
(sqrt.f64 (pow.f64 x #s(literal 3 binary64)))
(*.f64 (*.f64 x x) x)
(pow.f64 x #s(literal 3 binary64))
(*.f64 x x)
x
(sqrt.f64 x)
(sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 (sqrt.f64 x) #s(literal 4 binary64))))
(sqrt.f64 (*.f64 (pow.f64 (sqrt.f64 x) #s(literal 4 binary64)) #s(literal 2 binary64)))
(*.f64 #s(literal 2 binary64) (pow.f64 (sqrt.f64 x) #s(literal 4 binary64)))
(*.f64 (pow.f64 (sqrt.f64 x) #s(literal 4 binary64)) #s(literal 2 binary64))
#s(literal 2 binary64)
(pow.f64 (sqrt.f64 x) #s(literal 4 binary64))
(sqrt.f64 x)
x
#s(literal 4 binary64)

localize51.0ms (0.7%)

Memory
16.0MiB live, 60.2MiB allocated
Localize:

Found 12 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(sqrt.f64 x)
accuracy0.015625
(*.f64 #s(literal 2 binary64) (pow.f64 (sqrt.f64 x) #s(literal 4 binary64)))
accuracy0.4949953125901448
(pow.f64 (sqrt.f64 x) #s(literal 4 binary64))
accuracy27.281358431095693
(sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 (sqrt.f64 x) #s(literal 4 binary64))))
accuracy0.08203125
(*.f64 (*.f64 x x) x)
accuracy0.158535009768442
(*.f64 (sqrt.f64 (*.f64 (*.f64 x x) x)) (sqrt.f64 x))
accuracy21.052499528743237
(sqrt.f64 (*.f64 (*.f64 x x) x))
accuracy27.281358431095693
(sqrt.f64 (*.f64 #s(literal 2 binary64) (*.f64 (sqrt.f64 (*.f64 (*.f64 x x) x)) (sqrt.f64 x))))
accuracy0.0
(pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64))
accuracy0.0
#s(approx (sqrt (* 2 (* x x))) (*.f64 (pow.f64 (pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64)) #s(literal 2 binary64)) x))
accuracy0.4453125
(*.f64 (pow.f64 (pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64)) #s(literal 2 binary64)) x)
accuracy1.0
(pow.f64 (pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64)) #s(literal 2 binary64))
Samples
40.0ms256×0valid
Compiler

Compiled 98 to 21 computations (78.6% saved)

Precisions
Click to see histograms. Total time spent on operations: 29.0ms
ival-mult: 10.0ms (34.5% of total)
ival-sqrt: 10.0ms (34.5% of total)
ival-pow: 6.0ms (20.7% of total)
ival-pow2: 2.0ms (6.9% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series7.0ms (0.1%)

Memory
13.0MiB live, 13.0MiB allocated
Counts
13 → 15
Calls
Call 1
Inputs
(pow.f64 (pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64)) #s(literal 2 binary64))
#s(approx (sqrt (* 2 (* x x))) (*.f64 (pow.f64 (pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64)) #s(literal 2 binary64)) x))
(*.f64 (pow.f64 (pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64)) #s(literal 2 binary64)) x)
(pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64))
(*.f64 (*.f64 x x) x)
(sqrt.f64 (*.f64 #s(literal 2 binary64) (*.f64 (sqrt.f64 (*.f64 (*.f64 x x) x)) (sqrt.f64 x))))
(*.f64 #s(literal 2 binary64) (*.f64 (sqrt.f64 (*.f64 (*.f64 x x) x)) (sqrt.f64 x)))
(*.f64 (sqrt.f64 (*.f64 (*.f64 x x) x)) (sqrt.f64 x))
(sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 (sqrt.f64 x) #s(literal 4 binary64))))
(*.f64 #s(literal 2 binary64) (pow.f64 (sqrt.f64 x) #s(literal 4 binary64)))
(pow.f64 (sqrt.f64 x) #s(literal 4 binary64))
(sqrt.f64 x)
(sqrt.f64 (*.f64 (*.f64 x x) x))
Outputs
(* x (sqrt 2))
(pow x 3)
(* 2 (pow x 2))
(pow x 2)
(sqrt x)
(sqrt (pow x 3))
(* -1 (* x (sqrt 2)))
(* -1 (* x (* (sqrt -1) (sqrt 2))))
(* 2 (* (pow x 2) (pow (sqrt -1) 2)))
(* (pow x 2) (pow (sqrt -1) 2))
(* -1 (* x (* (pow (sqrt -1) 2) (sqrt 2))))
(* 2 (* (pow x 2) (pow (sqrt -1) 4)))
(* (pow x 2) (pow (sqrt -1) 4))
(* -1 (* (sqrt x) (pow (sqrt -1) 2)))
(* (sqrt (pow x 3)) (pow (sqrt -1) 2))
Calls

3 calls:

TimeVariablePointExpression
4.0ms
x
@-inf
((pow (pow 2 1/4) 2) (sqrt (* 2 (* x x))) (* (pow (pow 2 1/4) 2) x) (pow 2 1/4) (* (* x x) x) (sqrt (* 2 (* (sqrt (* (* x x) x)) (sqrt x)))) (* 2 (* (sqrt (* (* x x) x)) (sqrt x))) (* (sqrt (* (* x x) x)) (sqrt x)) (sqrt (* 2 (pow (sqrt x) 4))) (* 2 (pow (sqrt x) 4)) (pow (sqrt x) 4) (sqrt x) (sqrt (* (* x x) x)))
1.0ms
x
@inf
((pow (pow 2 1/4) 2) (sqrt (* 2 (* x x))) (* (pow (pow 2 1/4) 2) x) (pow 2 1/4) (* (* x x) x) (sqrt (* 2 (* (sqrt (* (* x x) x)) (sqrt x)))) (* 2 (* (sqrt (* (* x x) x)) (sqrt x))) (* (sqrt (* (* x x) x)) (sqrt x)) (sqrt (* 2 (pow (sqrt x) 4))) (* 2 (pow (sqrt x) 4)) (pow (sqrt x) 4) (sqrt x) (sqrt (* (* x x) x)))
1.0ms
x
@0
((pow (pow 2 1/4) 2) (sqrt (* 2 (* x x))) (* (pow (pow 2 1/4) 2) x) (pow 2 1/4) (* (* x x) x) (sqrt (* 2 (* (sqrt (* (* x x) x)) (sqrt x)))) (* 2 (* (sqrt (* (* x x) x)) (sqrt x))) (* (sqrt (* (* x x) x)) (sqrt x)) (sqrt (* 2 (pow (sqrt x) 4))) (* 2 (pow (sqrt x) 4)) (pow (sqrt x) 4) (sqrt x) (sqrt (* (* x x) x)))

simplify129.0ms (1.7%)

Memory
-2.8MiB live, 42.0MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
02965
17062
221661
353861
4196049
5477849
6508849
7524149
8532949
9533249
10533249
11533249
12624849
13633449
14633449
15633449
16633449
17676649
18742049
0742049
Stop Event
iter limit
saturated
Counts
15 → 15
Calls
Call 1
Inputs
(* x (sqrt 2))
(pow x 3)
(* 2 (pow x 2))
(pow x 2)
(sqrt x)
(sqrt (pow x 3))
(* -1 (* x (sqrt 2)))
(* -1 (* x (* (sqrt -1) (sqrt 2))))
(* 2 (* (pow x 2) (pow (sqrt -1) 2)))
(* (pow x 2) (pow (sqrt -1) 2))
(* -1 (* x (* (pow (sqrt -1) 2) (sqrt 2))))
(* 2 (* (pow x 2) (pow (sqrt -1) 4)))
(* (pow x 2) (pow (sqrt -1) 4))
(* -1 (* (sqrt x) (pow (sqrt -1) 2)))
(* (sqrt (pow x 3)) (pow (sqrt -1) 2))
Outputs
(* x (sqrt 2))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) x)
(pow x 3)
(pow.f64 x #s(literal 3 binary64))
(* 2 (pow x 2))
#s(literal 0 binary64)
(pow x 2)
(*.f64 x x)
(sqrt x)
(sqrt.f64 x)
(sqrt (pow x 3))
(sqrt.f64 (pow.f64 x #s(literal 3 binary64)))
(* -1 (* x (sqrt 2)))
(*.f64 (neg.f64 x) (sqrt.f64 #s(literal 2 binary64)))
(* -1 (* x (* (sqrt -1) (sqrt 2))))
(*.f64 (*.f64 (neg.f64 x) (sqrt.f64 #s(literal -1 binary64))) (sqrt.f64 #s(literal 2 binary64)))
(* 2 (* (pow x 2) (pow (sqrt -1) 2)))
#s(literal 0 binary64)
(* (pow x 2) (pow (sqrt -1) 2))
(*.f64 x x)
(* -1 (* x (* (pow (sqrt -1) 2) (sqrt 2))))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) x)
(* 2 (* (pow x 2) (pow (sqrt -1) 4)))
#s(literal 0 binary64)
(* (pow x 2) (pow (sqrt -1) 4))
(*.f64 x x)
(* -1 (* (sqrt x) (pow (sqrt -1) 2)))
(sqrt.f64 x)
(* (sqrt (pow x 3)) (pow (sqrt -1) 2))
(neg.f64 (sqrt.f64 (pow.f64 x #s(literal 3 binary64))))

rewrite86.0ms (1.1%)

Memory
-1.7MiB live, 95.6MiB allocated
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02191
03468
19355
233518
3193218
0915918
Stop Event
iter limit
node limit
iter limit
Counts
13 → 170
Calls
Call 1
Inputs
(pow.f64 (pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64)) #s(literal 2 binary64))
#s(approx (sqrt (* 2 (* x x))) (*.f64 (pow.f64 (pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64)) #s(literal 2 binary64)) x))
(*.f64 (pow.f64 (pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64)) #s(literal 2 binary64)) x)
(pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64))
(*.f64 (*.f64 x x) x)
(sqrt.f64 (*.f64 #s(literal 2 binary64) (*.f64 (sqrt.f64 (*.f64 (*.f64 x x) x)) (sqrt.f64 x))))
(*.f64 #s(literal 2 binary64) (*.f64 (sqrt.f64 (*.f64 (*.f64 x x) x)) (sqrt.f64 x)))
(*.f64 (sqrt.f64 (*.f64 (*.f64 x x) x)) (sqrt.f64 x))
(sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 (sqrt.f64 x) #s(literal 4 binary64))))
(*.f64 #s(literal 2 binary64) (pow.f64 (sqrt.f64 x) #s(literal 4 binary64)))
(pow.f64 (sqrt.f64 x) #s(literal 4 binary64))
(sqrt.f64 x)
(sqrt.f64 (*.f64 (*.f64 x x) x))
Outputs
(*.f64 (fabs.f64 (pow.f64 #s(literal 2 binary64) #s(literal 7/16 binary64))) (pow.f64 #s(literal 4 binary64) #s(literal 1/32 binary64)))
(*.f64 (pow.f64 (neg.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/32 binary64))) #s(literal 4 binary64)) (pow.f64 (neg.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/32 binary64))) #s(literal 4 binary64)))
(*.f64 (pow.f64 (pow.f64 #s(literal 2 binary64) #s(literal 7/16 binary64)) #s(literal 1 binary64)) (pow.f64 #s(literal 4 binary64) #s(literal 1/32 binary64)))
(*.f64 (pow.f64 #s(literal 2 binary64) #s(literal 7/16 binary64)) (pow.f64 #s(literal 4 binary64) #s(literal 1/32 binary64)))
(*.f64 (pow.f64 #s(literal 8 binary64) #s(literal 1/8 binary64)) (pow.f64 #s(literal 4 binary64) #s(literal 1/16 binary64)))
(*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/32 binary64)) (fabs.f64 (pow.f64 #s(literal 2 binary64) #s(literal 7/16 binary64))))
(*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/32 binary64)) (pow.f64 (pow.f64 #s(literal 2 binary64) #s(literal 7/16 binary64)) #s(literal 1 binary64)))
(*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/32 binary64)) (pow.f64 #s(literal 2 binary64) #s(literal 7/16 binary64)))
(*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/16 binary64)) (pow.f64 #s(literal 8 binary64) #s(literal 1/8 binary64)))
(*.f64 (pow.f64 #s(literal 16 binary64) #s(literal 1/16 binary64)) (pow.f64 #s(literal 16 binary64) #s(literal 1/16 binary64)))
(pow.f64 (exp.f64 (log.f64 #s(literal 4 binary64))) #s(literal 1/4 binary64))
(pow.f64 (*.f64 (exp.f64 #s(literal 1/4 binary64)) (exp.f64 #s(literal 1/4 binary64))) (log.f64 #s(literal 2 binary64)))
(pow.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))) #s(literal 1/2 binary64))
(pow.f64 (pow.f64 (exp.f64 #s(literal 2 binary64)) #s(literal 1/8 binary64)) (log.f64 #s(literal 4 binary64)))
(pow.f64 (pow.f64 (exp.f64 #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (log.f64 #s(literal 2 binary64)) #s(literal 1/4 binary64)))
(pow.f64 (pow.f64 (exp.f64 #s(literal 2 binary64)) (log.f64 #s(literal 2 binary64))) #s(literal 1/4 binary64))
(pow.f64 (pow.f64 (exp.f64 #s(literal 2 binary64)) #s(literal 1/4 binary64)) (*.f64 (log.f64 #s(literal 2 binary64)) #s(literal 1 binary64)))
(pow.f64 (pow.f64 (exp.f64 #s(literal 2 binary64)) #s(literal 1/4 binary64)) (log.f64 #s(literal 2 binary64)))
(pow.f64 (pow.f64 (exp.f64 #s(literal 2 binary64)) #s(literal 2 binary64)) (*.f64 #s(literal 1/8 binary64) (log.f64 #s(literal 2 binary64))))
(pow.f64 (exp.f64 #s(literal 2 binary64)) (*.f64 (log.f64 #s(literal 2 binary64)) #s(literal 1/4 binary64)))
(pow.f64 (exp.f64 #s(literal 1/2 binary64)) (log.f64 #s(literal 2 binary64)))
(pow.f64 (exp.f64 #s(literal 1/4 binary64)) (*.f64 (log.f64 #s(literal 2 binary64)) #s(literal 2 binary64)))
(pow.f64 (exp.f64 #s(literal 1/4 binary64)) (log.f64 #s(literal 4 binary64)))
(pow.f64 #s(literal 16 binary64) #s(literal 1/8 binary64))
(pow.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/32 binary64)) #s(literal 8 binary64))
(pow.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/16 binary64)) #s(literal 4 binary64))
(pow.f64 #s(literal 4 binary64) #s(literal 1/4 binary64))
(pow.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 1 binary64))
(pow.f64 (pow.f64 #s(literal 16 binary64) #s(literal 1/16 binary64)) #s(literal 2 binary64))
(pow.f64 #s(literal 2 binary64) #s(literal 1/2 binary64))
(/.f64 (-.f64 (*.f64 (*.f64 (cosh.f64 (*.f64 #s(literal -1/4 binary64) (log.f64 #s(literal 2 binary64)))) (pow.f64 #s(literal 16 binary64) #s(literal 1/16 binary64))) (*.f64 (cosh.f64 (*.f64 #s(literal -1/4 binary64) (log.f64 #s(literal 2 binary64)))) (pow.f64 #s(literal 16 binary64) #s(literal 1/16 binary64)))) (*.f64 (*.f64 (sinh.f64 (*.f64 (log.f64 #s(literal 2 binary64)) #s(literal 1/4 binary64))) (pow.f64 #s(literal 16 binary64) #s(literal 1/16 binary64))) (*.f64 (sinh.f64 (*.f64 (log.f64 #s(literal 2 binary64)) #s(literal 1/4 binary64))) (pow.f64 #s(literal 16 binary64) #s(literal 1/16 binary64))))) (-.f64 (*.f64 (cosh.f64 (*.f64 #s(literal -1/4 binary64) (log.f64 #s(literal 2 binary64)))) (pow.f64 #s(literal 16 binary64) #s(literal 1/16 binary64))) (*.f64 (sinh.f64 (*.f64 (log.f64 #s(literal 2 binary64)) #s(literal 1/4 binary64))) (pow.f64 #s(literal 16 binary64) #s(literal 1/16 binary64)))))
(/.f64 (-.f64 (*.f64 (*.f64 (pow.f64 #s(literal 16 binary64) #s(literal 1/16 binary64)) (cosh.f64 (*.f64 #s(literal -1/4 binary64) (log.f64 #s(literal 2 binary64))))) (*.f64 (pow.f64 #s(literal 16 binary64) #s(literal 1/16 binary64)) (cosh.f64 (*.f64 #s(literal -1/4 binary64) (log.f64 #s(literal 2 binary64)))))) (*.f64 (*.f64 (pow.f64 #s(literal 16 binary64) #s(literal 1/16 binary64)) (sinh.f64 (*.f64 (log.f64 #s(literal 2 binary64)) #s(literal 1/4 binary64)))) (*.f64 (pow.f64 #s(literal 16 binary64) #s(literal 1/16 binary64)) (sinh.f64 (*.f64 (log.f64 #s(literal 2 binary64)) #s(literal 1/4 binary64)))))) (sqrt.f64 #s(literal 2 binary64)))
(/.f64 (-.f64 (pow.f64 (sinh.f64 (log.f64 (sqrt.f64 #s(literal 2 binary64)))) #s(literal 2 binary64)) (pow.f64 (cosh.f64 (log.f64 (sqrt.f64 #s(literal 2 binary64)))) #s(literal 2 binary64))) (-.f64 (sinh.f64 (log.f64 (sqrt.f64 #s(literal 2 binary64)))) (cosh.f64 (log.f64 (sqrt.f64 #s(literal 2 binary64))))))
(/.f64 (+.f64 (pow.f64 (*.f64 (cosh.f64 (*.f64 #s(literal -1/4 binary64) (log.f64 #s(literal 2 binary64)))) (pow.f64 #s(literal 16 binary64) #s(literal 1/16 binary64))) #s(literal 3 binary64)) (pow.f64 (*.f64 (sinh.f64 (*.f64 (log.f64 #s(literal 2 binary64)) #s(literal 1/4 binary64))) (pow.f64 #s(literal 16 binary64) #s(literal 1/16 binary64))) #s(literal 3 binary64))) (fma.f64 (*.f64 (cosh.f64 (*.f64 #s(literal -1/4 binary64) (log.f64 #s(literal 2 binary64)))) (pow.f64 #s(literal 16 binary64) #s(literal 1/16 binary64))) (*.f64 (cosh.f64 (*.f64 #s(literal -1/4 binary64) (log.f64 #s(literal 2 binary64)))) (pow.f64 #s(literal 16 binary64) #s(literal 1/16 binary64))) (-.f64 (*.f64 (*.f64 (sinh.f64 (*.f64 (log.f64 #s(literal 2 binary64)) #s(literal 1/4 binary64))) (pow.f64 #s(literal 16 binary64) #s(literal 1/16 binary64))) (*.f64 (sinh.f64 (*.f64 (log.f64 #s(literal 2 binary64)) #s(literal 1/4 binary64))) (pow.f64 #s(literal 16 binary64) #s(literal 1/16 binary64)))) (*.f64 (*.f64 (cosh.f64 (*.f64 #s(literal -1/4 binary64) (log.f64 #s(literal 2 binary64)))) (pow.f64 #s(literal 16 binary64) #s(literal 1/16 binary64))) (*.f64 (sinh.f64 (*.f64 (log.f64 #s(literal 2 binary64)) #s(literal 1/4 binary64))) (pow.f64 #s(literal 16 binary64) #s(literal 1/16 binary64)))))))
(/.f64 (+.f64 (pow.f64 (*.f64 (pow.f64 #s(literal 16 binary64) #s(literal 1/16 binary64)) (cosh.f64 (*.f64 #s(literal -1/4 binary64) (log.f64 #s(literal 2 binary64))))) #s(literal 3 binary64)) (pow.f64 (*.f64 (pow.f64 #s(literal 16 binary64) #s(literal 1/16 binary64)) (sinh.f64 (*.f64 (log.f64 #s(literal 2 binary64)) #s(literal 1/4 binary64)))) #s(literal 3 binary64))) (fma.f64 (*.f64 (pow.f64 #s(literal 16 binary64) #s(literal 1/16 binary64)) (cosh.f64 (*.f64 #s(literal -1/4 binary64) (log.f64 #s(literal 2 binary64))))) (*.f64 (pow.f64 #s(literal 16 binary64) #s(literal 1/16 binary64)) (cosh.f64 (*.f64 #s(literal -1/4 binary64) (log.f64 #s(literal 2 binary64))))) (-.f64 (*.f64 (*.f64 (pow.f64 #s(literal 16 binary64) #s(literal 1/16 binary64)) (sinh.f64 (*.f64 (log.f64 #s(literal 2 binary64)) #s(literal 1/4 binary64)))) (*.f64 (pow.f64 #s(literal 16 binary64) #s(literal 1/16 binary64)) (sinh.f64 (*.f64 (log.f64 #s(literal 2 binary64)) #s(literal 1/4 binary64))))) (*.f64 (*.f64 (pow.f64 #s(literal 16 binary64) #s(literal 1/16 binary64)) (cosh.f64 (*.f64 #s(literal -1/4 binary64) (log.f64 #s(literal 2 binary64))))) (*.f64 (pow.f64 #s(literal 16 binary64) #s(literal 1/16 binary64)) (sinh.f64 (*.f64 (log.f64 #s(literal 2 binary64)) #s(literal 1/4 binary64))))))))
(/.f64 (+.f64 (pow.f64 (sinh.f64 (log.f64 (sqrt.f64 #s(literal 2 binary64)))) #s(literal 3 binary64)) (pow.f64 (cosh.f64 (log.f64 (sqrt.f64 #s(literal 2 binary64)))) #s(literal 3 binary64))) (+.f64 (pow.f64 (sinh.f64 (log.f64 (sqrt.f64 #s(literal 2 binary64)))) #s(literal 2 binary64)) (-.f64 (pow.f64 (cosh.f64 (log.f64 (sqrt.f64 #s(literal 2 binary64)))) #s(literal 2 binary64)) (*.f64 (sinh.f64 (log.f64 (sqrt.f64 #s(literal 2 binary64)))) (cosh.f64 (log.f64 (sqrt.f64 #s(literal 2 binary64))))))))
(/.f64 (fma.f64 #s(literal 2 binary64) (sinh.f64 (log.f64 (sqrt.f64 #s(literal 2 binary64)))) (*.f64 #s(literal 2 binary64) (cosh.f64 (log.f64 (sqrt.f64 #s(literal 2 binary64)))))) #s(literal 2 binary64))
(/.f64 (fma.f64 #s(literal 2 binary64) (cosh.f64 (log.f64 (sqrt.f64 #s(literal 2 binary64)))) (*.f64 #s(literal 2 binary64) (sinh.f64 (log.f64 (sqrt.f64 #s(literal 2 binary64)))))) #s(literal 2 binary64))
(/.f64 (neg.f64 (+.f64 (pow.f64 (cosh.f64 (log.f64 (sqrt.f64 #s(literal 2 binary64)))) #s(literal 3 binary64)) (pow.f64 (sinh.f64 (log.f64 (sqrt.f64 #s(literal 2 binary64)))) #s(literal 3 binary64)))) (neg.f64 (+.f64 (pow.f64 (cosh.f64 (log.f64 (sqrt.f64 #s(literal 2 binary64)))) #s(literal 2 binary64)) (-.f64 (pow.f64 (sinh.f64 (log.f64 (sqrt.f64 #s(literal 2 binary64)))) #s(literal 2 binary64)) (*.f64 (cosh.f64 (log.f64 (sqrt.f64 #s(literal 2 binary64)))) (sinh.f64 (log.f64 (sqrt.f64 #s(literal 2 binary64)))))))))
(/.f64 #s(literal -1 binary64) (neg.f64 (/.f64 #s(literal 1 binary64) (sqrt.f64 #s(literal 2 binary64)))))
(/.f64 (*.f64 #s(literal 1 binary64) (+.f64 (pow.f64 (cosh.f64 (*.f64 #s(literal -1/4 binary64) (log.f64 #s(literal 2 binary64)))) #s(literal 3 binary64)) (pow.f64 (sinh.f64 (*.f64 (log.f64 #s(literal 2 binary64)) #s(literal 1/4 binary64))) #s(literal 3 binary64)))) (*.f64 (/.f64 #s(literal 1 binary64) (pow.f64 #s(literal 16 binary64) #s(literal 1/16 binary64))) (+.f64 (pow.f64 (cosh.f64 (*.f64 #s(literal -1/4 binary64) (log.f64 #s(literal 2 binary64)))) #s(literal 2 binary64)) (-.f64 (pow.f64 (sinh.f64 (*.f64 (log.f64 #s(literal 2 binary64)) #s(literal 1/4 binary64))) #s(literal 2 binary64)) (*.f64 (cosh.f64 (*.f64 #s(literal -1/4 binary64) (log.f64 #s(literal 2 binary64)))) (sinh.f64 (*.f64 (log.f64 #s(literal 2 binary64)) #s(literal 1/4 binary64))))))))
(/.f64 (*.f64 (+.f64 (pow.f64 (cosh.f64 (*.f64 #s(literal -1/4 binary64) (log.f64 #s(literal 2 binary64)))) #s(literal 3 binary64)) (pow.f64 (sinh.f64 (*.f64 (log.f64 #s(literal 2 binary64)) #s(literal 1/4 binary64))) #s(literal 3 binary64))) #s(literal 1 binary64)) (*.f64 (+.f64 (pow.f64 (cosh.f64 (*.f64 #s(literal -1/4 binary64) (log.f64 #s(literal 2 binary64)))) #s(literal 2 binary64)) (-.f64 (pow.f64 (sinh.f64 (*.f64 (log.f64 #s(literal 2 binary64)) #s(literal 1/4 binary64))) #s(literal 2 binary64)) (*.f64 (cosh.f64 (*.f64 #s(literal -1/4 binary64) (log.f64 #s(literal 2 binary64)))) (sinh.f64 (*.f64 (log.f64 #s(literal 2 binary64)) #s(literal 1/4 binary64)))))) (/.f64 #s(literal 1 binary64) (pow.f64 #s(literal 16 binary64) #s(literal 1/16 binary64)))))
(/.f64 (*.f64 (+.f64 (pow.f64 (cosh.f64 (*.f64 #s(literal -1/4 binary64) (log.f64 #s(literal 2 binary64)))) #s(literal 3 binary64)) (pow.f64 (sinh.f64 (*.f64 (log.f64 #s(literal 2 binary64)) #s(literal 1/4 binary64))) #s(literal 3 binary64))) (+.f64 (pow.f64 (cosh.f64 (*.f64 #s(literal -1/4 binary64) (log.f64 #s(literal 2 binary64)))) #s(literal 3 binary64)) (pow.f64 (sinh.f64 (*.f64 (log.f64 #s(literal 2 binary64)) #s(literal 1/4 binary64))) #s(literal 3 binary64)))) (*.f64 (+.f64 (pow.f64 (cosh.f64 (*.f64 #s(literal -1/4 binary64) (log.f64 #s(literal 2 binary64)))) #s(literal 2 binary64)) (-.f64 (pow.f64 (sinh.f64 (*.f64 (log.f64 #s(literal 2 binary64)) #s(literal 1/4 binary64))) #s(literal 2 binary64)) (*.f64 (cosh.f64 (*.f64 #s(literal -1/4 binary64) (log.f64 #s(literal 2 binary64)))) (sinh.f64 (*.f64 (log.f64 #s(literal 2 binary64)) #s(literal 1/4 binary64)))))) (+.f64 (pow.f64 (cosh.f64 (*.f64 #s(literal -1/4 binary64) (log.f64 #s(literal 2 binary64)))) #s(literal 2 binary64)) (-.f64 (pow.f64 (sinh.f64 (*.f64 (log.f64 #s(literal 2 binary64)) #s(literal 1/4 binary64))) #s(literal 2 binary64)) (*.f64 (cosh.f64 (*.f64 #s(literal -1/4 binary64) (log.f64 #s(literal 2 binary64)))) (sinh.f64 (*.f64 (log.f64 #s(literal 2 binary64)) #s(literal 1/4 binary64))))))))
(/.f64 (fma.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 (log.f64 (sqrt.f64 #s(literal 2 binary64))))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (cosh.f64 (log.f64 (sqrt.f64 #s(literal 2 binary64))))))) #s(literal 4 binary64))
(/.f64 (fma.f64 (*.f64 #s(literal 2 binary64) (cosh.f64 (log.f64 (sqrt.f64 #s(literal 2 binary64))))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (sinh.f64 (log.f64 (sqrt.f64 #s(literal 2 binary64))))))) #s(literal 4 binary64))
(/.f64 (fabs.f64 (+.f64 (pow.f64 (cosh.f64 (log.f64 (sqrt.f64 #s(literal 2 binary64)))) #s(literal 3 binary64)) (pow.f64 (sinh.f64 (log.f64 (sqrt.f64 #s(literal 2 binary64)))) #s(literal 3 binary64)))) (fabs.f64 (+.f64 (pow.f64 (cosh.f64 (log.f64 (sqrt.f64 #s(literal 2 binary64)))) #s(literal 2 binary64)) (-.f64 (pow.f64 (sinh.f64 (log.f64 (sqrt.f64 #s(literal 2 binary64)))) #s(literal 2 binary64)) (*.f64 (cosh.f64 (log.f64 (sqrt.f64 #s(literal 2 binary64)))) (sinh.f64 (log.f64 (sqrt.f64 #s(literal 2 binary64)))))))))
(/.f64 (+.f64 (pow.f64 (cosh.f64 (log.f64 (sqrt.f64 #s(literal 2 binary64)))) #s(literal 3 binary64)) (pow.f64 (sinh.f64 (log.f64 (sqrt.f64 #s(literal 2 binary64)))) #s(literal 3 binary64))) (+.f64 (pow.f64 (cosh.f64 (log.f64 (sqrt.f64 #s(literal 2 binary64)))) #s(literal 2 binary64)) (-.f64 (pow.f64 (sinh.f64 (log.f64 (sqrt.f64 #s(literal 2 binary64)))) #s(literal 2 binary64)) (*.f64 (cosh.f64 (log.f64 (sqrt.f64 #s(literal 2 binary64)))) (sinh.f64 (log.f64 (sqrt.f64 #s(literal 2 binary64))))))))
(/.f64 #s(literal 1 binary64) (*.f64 (/.f64 #s(literal 1 binary64) (pow.f64 #s(literal 16 binary64) #s(literal 1/16 binary64))) (/.f64 #s(literal 1 binary64) (pow.f64 #s(literal 16 binary64) #s(literal 1/16 binary64)))))
(/.f64 #s(literal 1 binary64) (fabs.f64 (/.f64 #s(literal 1 binary64) (sqrt.f64 #s(literal 2 binary64)))))
(/.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (sqrt.f64 #s(literal 2 binary64))))
(/.f64 (pow.f64 #s(literal 16 binary64) #s(literal 1/16 binary64)) (/.f64 #s(literal 1 binary64) (pow.f64 #s(literal 16 binary64) #s(literal 1/16 binary64))))
(neg.f64 (sqrt.f64 #s(literal 2 binary64)))
(fma.f64 (pow.f64 #s(literal 8 binary64) #s(literal 1/8 binary64)) (cosh.f64 (*.f64 #s(literal 1/8 binary64) (log.f64 #s(literal 2 binary64)))) (*.f64 (pow.f64 #s(literal 8 binary64) #s(literal 1/8 binary64)) (sinh.f64 (*.f64 #s(literal 1/8 binary64) (log.f64 #s(literal 2 binary64))))))
(fma.f64 (cosh.f64 (*.f64 #s(literal -1/4 binary64) (log.f64 #s(literal 2 binary64)))) (pow.f64 #s(literal 16 binary64) #s(literal 1/16 binary64)) (*.f64 (sinh.f64 (*.f64 (log.f64 #s(literal 2 binary64)) #s(literal 1/4 binary64))) (pow.f64 #s(literal 16 binary64) #s(literal 1/16 binary64))))
(fma.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/16 binary64)) (*.f64 (cosh.f64 (*.f64 #s(literal -1/4 binary64) (log.f64 #s(literal 2 binary64)))) (pow.f64 #s(literal 4 binary64) #s(literal 1/16 binary64))) (*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/16 binary64)) (*.f64 (sinh.f64 (*.f64 (log.f64 #s(literal 2 binary64)) #s(literal 1/4 binary64))) (pow.f64 #s(literal 4 binary64) #s(literal 1/16 binary64)))))
(fma.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/16 binary64)) (*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/16 binary64)) (cosh.f64 (*.f64 #s(literal -1/4 binary64) (log.f64 #s(literal 2 binary64))))) (*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/16 binary64)) (*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/16 binary64)) (sinh.f64 (*.f64 (log.f64 #s(literal 2 binary64)) #s(literal 1/4 binary64))))))
(fma.f64 (pow.f64 #s(literal 16 binary64) #s(literal 1/16 binary64)) (neg.f64 (cosh.f64 (*.f64 #s(literal -1/4 binary64) (log.f64 #s(literal 2 binary64))))) (*.f64 (pow.f64 #s(literal 16 binary64) #s(literal 1/16 binary64)) (sinh.f64 (*.f64 #s(literal -1/4 binary64) (log.f64 #s(literal 2 binary64))))))
(fma.f64 (pow.f64 #s(literal 16 binary64) #s(literal 1/16 binary64)) (sinh.f64 (*.f64 (log.f64 #s(literal 2 binary64)) #s(literal 1/4 binary64))) (*.f64 (pow.f64 #s(literal 16 binary64) #s(literal 1/16 binary64)) (cosh.f64 (*.f64 #s(literal -1/4 binary64) (log.f64 #s(literal 2 binary64))))))
(fma.f64 (pow.f64 #s(literal 16 binary64) #s(literal 1/16 binary64)) (cosh.f64 (*.f64 #s(literal -1/4 binary64) (log.f64 #s(literal 2 binary64)))) (*.f64 (pow.f64 #s(literal 16 binary64) #s(literal 1/16 binary64)) (sinh.f64 (*.f64 (log.f64 #s(literal 2 binary64)) #s(literal 1/4 binary64)))))
(fma.f64 #s(literal 2 binary64) (*.f64 (sinh.f64 (*.f64 (log.f64 #s(literal 2 binary64)) #s(literal 1/4 binary64))) (cosh.f64 (*.f64 #s(literal -1/4 binary64) (log.f64 #s(literal 2 binary64))))) (cosh.f64 (log.f64 (sqrt.f64 #s(literal 2 binary64)))))
(sqrt.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))))
(sqrt.f64 #s(literal 2 binary64))
(-.f64 (/.f64 (pow.f64 (cosh.f64 (log.f64 (sqrt.f64 #s(literal 2 binary64)))) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) (sqrt.f64 #s(literal 2 binary64)))) (/.f64 (pow.f64 (sinh.f64 (log.f64 (sqrt.f64 #s(literal 2 binary64)))) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) (sqrt.f64 #s(literal 2 binary64)))))
(-.f64 (*.f64 (cosh.f64 (*.f64 #s(literal -1/4 binary64) (log.f64 #s(literal 2 binary64)))) (pow.f64 #s(literal 16 binary64) #s(literal 1/16 binary64))) (*.f64 (sinh.f64 (*.f64 #s(literal -1/4 binary64) (log.f64 #s(literal 2 binary64)))) (pow.f64 #s(literal 16 binary64) #s(literal 1/16 binary64))))
(-.f64 (*.f64 (pow.f64 #s(literal 16 binary64) #s(literal 1/16 binary64)) (cosh.f64 (*.f64 #s(literal -1/4 binary64) (log.f64 #s(literal 2 binary64))))) (*.f64 (pow.f64 #s(literal 16 binary64) #s(literal 1/16 binary64)) (sinh.f64 (*.f64 (log.f64 #s(literal 2 binary64)) #s(literal 1/4 binary64)))))
(-.f64 (cosh.f64 (log.f64 (sqrt.f64 #s(literal 2 binary64)))) (*.f64 #s(literal -2 binary64) (*.f64 (sinh.f64 (*.f64 (log.f64 #s(literal 2 binary64)) #s(literal 1/4 binary64))) (cosh.f64 (*.f64 #s(literal -1/4 binary64) (log.f64 #s(literal 2 binary64)))))))
(fabs.f64 (sqrt.f64 #s(literal 2 binary64)))
(exp.f64 (*.f64 (log.f64 (exp.f64 #s(literal 2 binary64))) (*.f64 (log.f64 #s(literal 2 binary64)) #s(literal 1/4 binary64))))
(exp.f64 (*.f64 (log.f64 #s(literal 16 binary64)) #s(literal 1/8 binary64)))
(exp.f64 (*.f64 (*.f64 #s(literal 1/8 binary64) (log.f64 #s(literal 2 binary64))) #s(literal 4 binary64)))
(exp.f64 (log.f64 (sqrt.f64 #s(literal 2 binary64))))
(+.f64 (*.f64 (pow.f64 #s(literal 8 binary64) #s(literal 1/8 binary64)) (cosh.f64 (*.f64 #s(literal 1/8 binary64) (log.f64 #s(literal 2 binary64))))) (*.f64 (pow.f64 #s(literal 8 binary64) #s(literal 1/8 binary64)) (sinh.f64 (*.f64 #s(literal 1/8 binary64) (log.f64 #s(literal 2 binary64))))))
(+.f64 (*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/16 binary64)) (*.f64 (cosh.f64 (*.f64 #s(literal -1/4 binary64) (log.f64 #s(literal 2 binary64)))) (pow.f64 #s(literal 4 binary64) #s(literal 1/16 binary64)))) (*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/16 binary64)) (*.f64 (sinh.f64 (*.f64 (log.f64 #s(literal 2 binary64)) #s(literal 1/4 binary64))) (pow.f64 #s(literal 4 binary64) #s(literal 1/16 binary64)))))
(+.f64 (*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/16 binary64)) (*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/16 binary64)) (cosh.f64 (*.f64 #s(literal -1/4 binary64) (log.f64 #s(literal 2 binary64)))))) (*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/16 binary64)) (*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/16 binary64)) (sinh.f64 (*.f64 (log.f64 #s(literal 2 binary64)) #s(literal 1/4 binary64))))))
(+.f64 (*.f64 (pow.f64 #s(literal 16 binary64) #s(literal 1/16 binary64)) (neg.f64 (cosh.f64 (*.f64 #s(literal -1/4 binary64) (log.f64 #s(literal 2 binary64)))))) (*.f64 (pow.f64 #s(literal 16 binary64) #s(literal 1/16 binary64)) (sinh.f64 (*.f64 #s(literal -1/4 binary64) (log.f64 #s(literal 2 binary64))))))
(+.f64 (/.f64 (pow.f64 (cosh.f64 (log.f64 (sqrt.f64 #s(literal 2 binary64)))) #s(literal 3 binary64)) (+.f64 (pow.f64 (cosh.f64 (log.f64 (sqrt.f64 #s(literal 2 binary64)))) #s(literal 2 binary64)) (-.f64 (pow.f64 (sinh.f64 (log.f64 (sqrt.f64 #s(literal 2 binary64)))) #s(literal 2 binary64)) (*.f64 (cosh.f64 (log.f64 (sqrt.f64 #s(literal 2 binary64)))) (sinh.f64 (log.f64 (sqrt.f64 #s(literal 2 binary64)))))))) (/.f64 (pow.f64 (sinh.f64 (log.f64 (sqrt.f64 #s(literal 2 binary64)))) #s(literal 3 binary64)) (+.f64 (pow.f64 (cosh.f64 (log.f64 (sqrt.f64 #s(literal 2 binary64)))) #s(literal 2 binary64)) (-.f64 (pow.f64 (sinh.f64 (log.f64 (sqrt.f64 #s(literal 2 binary64)))) #s(literal 2 binary64)) (*.f64 (cosh.f64 (log.f64 (sqrt.f64 #s(literal 2 binary64)))) (sinh.f64 (log.f64 (sqrt.f64 #s(literal 2 binary64)))))))))
(+.f64 (*.f64 (cosh.f64 (*.f64 #s(literal -1/4 binary64) (log.f64 #s(literal 2 binary64)))) (pow.f64 #s(literal 16 binary64) #s(literal 1/16 binary64))) (*.f64 (sinh.f64 (*.f64 (log.f64 #s(literal 2 binary64)) #s(literal 1/4 binary64))) (pow.f64 #s(literal 16 binary64) #s(literal 1/16 binary64))))
(+.f64 (*.f64 (pow.f64 #s(literal 16 binary64) #s(literal 1/16 binary64)) (sinh.f64 (*.f64 (log.f64 #s(literal 2 binary64)) #s(literal 1/4 binary64)))) (*.f64 (pow.f64 #s(literal 16 binary64) #s(literal 1/16 binary64)) (cosh.f64 (*.f64 #s(literal -1/4 binary64) (log.f64 #s(literal 2 binary64))))))
(+.f64 (*.f64 (pow.f64 #s(literal 16 binary64) #s(literal 1/16 binary64)) (cosh.f64 (*.f64 #s(literal -1/4 binary64) (log.f64 #s(literal 2 binary64))))) (*.f64 (pow.f64 #s(literal 16 binary64) #s(literal 1/16 binary64)) (sinh.f64 (*.f64 (log.f64 #s(literal 2 binary64)) #s(literal 1/4 binary64)))))
(+.f64 (sinh.f64 (log.f64 (sqrt.f64 #s(literal 2 binary64)))) (cosh.f64 (log.f64 (sqrt.f64 #s(literal 2 binary64)))))
(+.f64 (cosh.f64 (log.f64 (sqrt.f64 #s(literal 2 binary64)))) (sinh.f64 (log.f64 (sqrt.f64 #s(literal 2 binary64)))))
#s(approx (sqrt (* 2 (* x x))) x)
x
#s(literal 0 binary64)
(*.f64 (fabs.f64 (pow.f64 #s(literal 8 binary64) #s(literal 1/16 binary64))) (pow.f64 #s(literal 4 binary64) #s(literal 1/32 binary64)))
(*.f64 (sqrt.f64 (pow.f64 #s(literal 2 binary64) #s(literal 7/16 binary64))) (sqrt.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/32 binary64))))
(*.f64 (sqrt.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/32 binary64))) (sqrt.f64 (pow.f64 #s(literal 2 binary64) #s(literal 7/16 binary64))))
(*.f64 (sqrt.f64 (pow.f64 #s(literal 8 binary64) #s(literal 1/8 binary64))) (pow.f64 #s(literal 4 binary64) #s(literal 1/32 binary64)))
(*.f64 (pow.f64 (pow.f64 #s(literal 2 binary64) #s(literal 7/16 binary64)) #s(literal 1/2 binary64)) (pow.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/32 binary64)) #s(literal 1/2 binary64)))
(*.f64 (pow.f64 (pow.f64 #s(literal 8 binary64) #s(literal 1/8 binary64)) #s(literal 1/2 binary64)) (pow.f64 #s(literal 4 binary64) #s(literal 1/32 binary64)))
(*.f64 (pow.f64 (pow.f64 #s(literal 8 binary64) #s(literal 1/16 binary64)) #s(literal 1 binary64)) (pow.f64 #s(literal 4 binary64) #s(literal 1/32 binary64)))
(*.f64 (pow.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/32 binary64)) #s(literal 1/2 binary64)) (pow.f64 (pow.f64 #s(literal 2 binary64) #s(literal 7/16 binary64)) #s(literal 1/2 binary64)))
(*.f64 (pow.f64 #s(literal 8 binary64) #s(literal 1/16 binary64)) (neg.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/32 binary64))))
(*.f64 (pow.f64 #s(literal 8 binary64) #s(literal 1/16 binary64)) (pow.f64 #s(literal 4 binary64) #s(literal 1/32 binary64)))
(*.f64 (neg.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/32 binary64))) (pow.f64 #s(literal 8 binary64) #s(literal 1/16 binary64)))
(*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/32 binary64)) (fabs.f64 (pow.f64 #s(literal 8 binary64) #s(literal 1/16 binary64))))
(*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/32 binary64)) (sqrt.f64 (pow.f64 #s(literal 8 binary64) #s(literal 1/8 binary64))))
(*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/32 binary64)) (pow.f64 (pow.f64 #s(literal 8 binary64) #s(literal 1/8 binary64)) #s(literal 1/2 binary64)))
(*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/32 binary64)) (pow.f64 (pow.f64 #s(literal 8 binary64) #s(literal 1/16 binary64)) #s(literal 1 binary64)))
(*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/32 binary64)) (pow.f64 #s(literal 8 binary64) #s(literal 1/16 binary64)))
(*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/16 binary64)) (pow.f64 #s(literal 4 binary64) #s(literal 1/16 binary64)))
(pow.f64 (exp.f64 #s(literal 1 binary64)) (*.f64 (log.f64 #s(literal 2 binary64)) #s(literal 1/4 binary64)))
(pow.f64 (exp.f64 (log.f64 #s(literal 4 binary64))) #s(literal 1/8 binary64))
(pow.f64 (exp.f64 #s(literal 1/8 binary64)) (log.f64 #s(literal 4 binary64)))
(pow.f64 (exp.f64 #s(literal 2 binary64)) (/.f64 (*.f64 (log.f64 #s(literal 2 binary64)) #s(literal 1/4 binary64)) #s(literal 2 binary64)))
(pow.f64 (exp.f64 #s(literal 2 binary64)) (*.f64 #s(literal 1/8 binary64) (log.f64 #s(literal 2 binary64))))
(pow.f64 (exp.f64 #s(literal 1/4 binary64)) (*.f64 (log.f64 #s(literal 2 binary64)) #s(literal 1 binary64)))
(pow.f64 (exp.f64 #s(literal 1/4 binary64)) (log.f64 #s(literal 2 binary64)))
(pow.f64 #s(literal 16 binary64) #s(literal 1/16 binary64))
(pow.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/32 binary64)) #s(literal 4 binary64))
(pow.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/16 binary64)) #s(literal 2 binary64))
(pow.f64 #s(literal 4 binary64) #s(literal 1/8 binary64))
(pow.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 1/2 binary64))
(pow.f64 (pow.f64 #s(literal 16 binary64) #s(literal 1/16 binary64)) #s(literal 1 binary64))
(pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64))
(/.f64 (-.f64 (pow.f64 (sinh.f64 (*.f64 (log.f64 #s(literal 2 binary64)) #s(literal 1/4 binary64))) #s(literal 2 binary64)) (pow.f64 (cosh.f64 (*.f64 #s(literal -1/4 binary64) (log.f64 #s(literal 2 binary64)))) #s(literal 2 binary64))) (-.f64 (sinh.f64 (*.f64 (log.f64 #s(literal 2 binary64)) #s(literal 1/4 binary64))) (cosh.f64 (*.f64 #s(literal -1/4 binary64) (log.f64 #s(literal 2 binary64))))))
(/.f64 (+.f64 (pow.f64 (neg.f64 (cosh.f64 (*.f64 #s(literal -1/4 binary64) (log.f64 #s(literal 2 binary64))))) #s(literal 3 binary64)) (pow.f64 (sinh.f64 (*.f64 #s(literal -1/4 binary64) (log.f64 #s(literal 2 binary64)))) #s(literal 3 binary64))) (+.f64 (pow.f64 (cosh.f64 (*.f64 #s(literal -1/4 binary64) (log.f64 #s(literal 2 binary64)))) #s(literal 2 binary64)) (-.f64 (pow.f64 (sinh.f64 (*.f64 (log.f64 #s(literal 2 binary64)) #s(literal 1/4 binary64))) #s(literal 2 binary64)) (*.f64 (neg.f64 (cosh.f64 (*.f64 #s(literal -1/4 binary64) (log.f64 #s(literal 2 binary64))))) (sinh.f64 (*.f64 #s(literal -1/4 binary64) (log.f64 #s(literal 2 binary64))))))))
(/.f64 (+.f64 (pow.f64 (sinh.f64 (*.f64 (log.f64 #s(literal 2 binary64)) #s(literal 1/4 binary64))) #s(literal 3 binary64)) (pow.f64 (cosh.f64 (*.f64 #s(literal -1/4 binary64) (log.f64 #s(literal 2 binary64)))) #s(literal 3 binary64))) (+.f64 (pow.f64 (sinh.f64 (*.f64 (log.f64 #s(literal 2 binary64)) #s(literal 1/4 binary64))) #s(literal 2 binary64)) (-.f64 (pow.f64 (cosh.f64 (*.f64 #s(literal -1/4 binary64) (log.f64 #s(literal 2 binary64)))) #s(literal 2 binary64)) (*.f64 (sinh.f64 (*.f64 (log.f64 #s(literal 2 binary64)) #s(literal 1/4 binary64))) (cosh.f64 (*.f64 #s(literal -1/4 binary64) (log.f64 #s(literal 2 binary64))))))))
(/.f64 (fma.f64 #s(literal 2 binary64) (sinh.f64 (*.f64 (log.f64 #s(literal 2 binary64)) #s(literal 1/4 binary64))) (*.f64 #s(literal 2 binary64) (cosh.f64 (*.f64 #s(literal -1/4 binary64) (log.f64 #s(literal 2 binary64)))))) #s(literal 2 binary64))
(/.f64 (fma.f64 #s(literal 2 binary64) (cosh.f64 (*.f64 #s(literal -1/4 binary64) (log.f64 #s(literal 2 binary64)))) (*.f64 #s(literal 2 binary64) (sinh.f64 (*.f64 (log.f64 #s(literal 2 binary64)) #s(literal 1/4 binary64))))) #s(literal 2 binary64))
(/.f64 #s(literal -1 binary64) (neg.f64 (/.f64 #s(literal 1 binary64) (pow.f64 #s(literal 16 binary64) #s(literal 1/16 binary64)))))
(/.f64 #s(literal -1 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 #s(literal 16 binary64) #s(literal 1/16 binary64))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (cosh.f64 (*.f64 #s(literal -1/4 binary64) (log.f64 #s(literal 2 binary64)))) #s(literal 3 binary64)) (pow.f64 (sinh.f64 (*.f64 (log.f64 #s(literal 2 binary64)) #s(literal 1/4 binary64))) #s(literal 3 binary64)))) (neg.f64 (+.f64 (pow.f64 (cosh.f64 (*.f64 #s(literal -1/4 binary64) (log.f64 #s(literal 2 binary64)))) #s(literal 2 binary64)) (-.f64 (pow.f64 (sinh.f64 (*.f64 (log.f64 #s(literal 2 binary64)) #s(literal 1/4 binary64))) #s(literal 2 binary64)) (*.f64 (cosh.f64 (*.f64 #s(literal -1/4 binary64) (log.f64 #s(literal 2 binary64)))) (sinh.f64 (*.f64 (log.f64 #s(literal 2 binary64)) #s(literal 1/4 binary64))))))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (cosh.f64 (*.f64 #s(literal -1/4 binary64) (log.f64 #s(literal 2 binary64)))) #s(literal 3 binary64)) (pow.f64 (sinh.f64 (*.f64 (log.f64 #s(literal 2 binary64)) #s(literal 1/4 binary64))) #s(literal 3 binary64)))) (+.f64 (pow.f64 (cosh.f64 (*.f64 #s(literal -1/4 binary64) (log.f64 #s(literal 2 binary64)))) #s(literal 2 binary64)) (-.f64 (pow.f64 (sinh.f64 (*.f64 (log.f64 #s(literal 2 binary64)) #s(literal 1/4 binary64))) #s(literal 2 binary64)) (*.f64 (cosh.f64 (*.f64 #s(literal -1/4 binary64) (log.f64 #s(literal 2 binary64)))) (sinh.f64 (*.f64 (log.f64 #s(literal 2 binary64)) #s(literal 1/4 binary64)))))))
(/.f64 (fma.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 (*.f64 (log.f64 #s(literal 2 binary64)) #s(literal 1/4 binary64)))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (cosh.f64 (*.f64 #s(literal -1/4 binary64) (log.f64 #s(literal 2 binary64))))))) #s(literal 4 binary64))
(/.f64 (fma.f64 (*.f64 #s(literal 2 binary64) (cosh.f64 (*.f64 #s(literal -1/4 binary64) (log.f64 #s(literal 2 binary64))))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (sinh.f64 (*.f64 (log.f64 #s(literal 2 binary64)) #s(literal 1/4 binary64)))))) #s(literal 4 binary64))
(/.f64 (fabs.f64 (+.f64 (pow.f64 (cosh.f64 (*.f64 #s(literal -1/4 binary64) (log.f64 #s(literal 2 binary64)))) #s(literal 3 binary64)) (pow.f64 (sinh.f64 (*.f64 (log.f64 #s(literal 2 binary64)) #s(literal 1/4 binary64))) #s(literal 3 binary64)))) (fabs.f64 (+.f64 (pow.f64 (cosh.f64 (*.f64 #s(literal -1/4 binary64) (log.f64 #s(literal 2 binary64)))) #s(literal 2 binary64)) (-.f64 (pow.f64 (sinh.f64 (*.f64 (log.f64 #s(literal 2 binary64)) #s(literal 1/4 binary64))) #s(literal 2 binary64)) (*.f64 (cosh.f64 (*.f64 #s(literal -1/4 binary64) (log.f64 #s(literal 2 binary64)))) (sinh.f64 (*.f64 (log.f64 #s(literal 2 binary64)) #s(literal 1/4 binary64))))))))
(/.f64 (hypot.f64 (pow.f64 (cosh.f64 (log.f64 (sqrt.f64 #s(literal 2 binary64)))) #s(literal 3/2 binary64)) (pow.f64 (sinh.f64 (log.f64 (sqrt.f64 #s(literal 2 binary64)))) #s(literal 3/2 binary64))) (sqrt.f64 (+.f64 (pow.f64 (cosh.f64 (log.f64 (sqrt.f64 #s(literal 2 binary64)))) #s(literal 2 binary64)) (-.f64 (pow.f64 (sinh.f64 (log.f64 (sqrt.f64 #s(literal 2 binary64)))) #s(literal 2 binary64)) (*.f64 (cosh.f64 (log.f64 (sqrt.f64 #s(literal 2 binary64)))) (sinh.f64 (log.f64 (sqrt.f64 #s(literal 2 binary64)))))))))
(/.f64 (+.f64 (pow.f64 (cosh.f64 (*.f64 #s(literal -1/4 binary64) (log.f64 #s(literal 2 binary64)))) #s(literal 3 binary64)) (pow.f64 (sinh.f64 (*.f64 (log.f64 #s(literal 2 binary64)) #s(literal 1/4 binary64))) #s(literal 3 binary64))) (neg.f64 (+.f64 (pow.f64 (cosh.f64 (*.f64 #s(literal -1/4 binary64) (log.f64 #s(literal 2 binary64)))) #s(literal 2 binary64)) (-.f64 (pow.f64 (sinh.f64 (*.f64 (log.f64 #s(literal 2 binary64)) #s(literal 1/4 binary64))) #s(literal 2 binary64)) (*.f64 (cosh.f64 (*.f64 #s(literal -1/4 binary64) (log.f64 #s(literal 2 binary64)))) (sinh.f64 (*.f64 (log.f64 #s(literal 2 binary64)) #s(literal 1/4 binary64))))))))
(/.f64 (+.f64 (pow.f64 (cosh.f64 (*.f64 #s(literal -1/4 binary64) (log.f64 #s(literal 2 binary64)))) #s(literal 3 binary64)) (pow.f64 (sinh.f64 (*.f64 (log.f64 #s(literal 2 binary64)) #s(literal 1/4 binary64))) #s(literal 3 binary64))) (+.f64 (pow.f64 (cosh.f64 (*.f64 #s(literal -1/4 binary64) (log.f64 #s(literal 2 binary64)))) #s(literal 2 binary64)) (-.f64 (pow.f64 (sinh.f64 (*.f64 (log.f64 #s(literal 2 binary64)) #s(literal 1/4 binary64))) #s(literal 2 binary64)) (*.f64 (cosh.f64 (*.f64 #s(literal -1/4 binary64) (log.f64 #s(literal 2 binary64)))) (sinh.f64 (*.f64 (log.f64 #s(literal 2 binary64)) #s(literal 1/4 binary64)))))))
(/.f64 #s(literal 1 binary64) (-.f64 (neg.f64 (cosh.f64 (*.f64 #s(literal -1/4 binary64) (log.f64 #s(literal 2 binary64))))) (sinh.f64 (*.f64 #s(literal -1/4 binary64) (log.f64 #s(literal 2 binary64))))))
(/.f64 #s(literal 1 binary64) (neg.f64 (/.f64 #s(literal 1 binary64) (pow.f64 #s(literal 16 binary64) #s(literal 1/16 binary64)))))
(/.f64 #s(literal 1 binary64) (fabs.f64 (/.f64 #s(literal 1 binary64) (pow.f64 #s(literal 16 binary64) #s(literal 1/16 binary64)))))
(/.f64 #s(literal 1 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) (sqrt.f64 #s(literal 2 binary64)))))
(/.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 #s(literal 16 binary64) #s(literal 1/16 binary64))))
(neg.f64 (pow.f64 #s(literal 16 binary64) #s(literal 1/16 binary64)))
(fma.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/16 binary64)) (cosh.f64 (*.f64 #s(literal 1/8 binary64) (log.f64 #s(literal 2 binary64)))) (*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/16 binary64)) (sinh.f64 (*.f64 #s(literal 1/8 binary64) (log.f64 #s(literal 2 binary64))))))
(fma.f64 #s(literal 2 binary64) (*.f64 (sinh.f64 (*.f64 #s(literal 1/8 binary64) (log.f64 #s(literal 2 binary64)))) (cosh.f64 (*.f64 #s(literal 1/8 binary64) (log.f64 #s(literal 2 binary64))))) (cosh.f64 (*.f64 #s(literal -1/4 binary64) (log.f64 #s(literal 2 binary64)))))
(sqrt.f64 (sqrt.f64 #s(literal 2 binary64)))
(-.f64 (/.f64 (pow.f64 (cosh.f64 (*.f64 #s(literal -1/4 binary64) (log.f64 #s(literal 2 binary64)))) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) (pow.f64 #s(literal 16 binary64) #s(literal 1/16 binary64)))) (/.f64 (pow.f64 (sinh.f64 (*.f64 (log.f64 #s(literal 2 binary64)) #s(literal 1/4 binary64))) #s(literal 2 binary64)) (/.f64 #s(literal 1 binary64) (pow.f64 #s(literal 16 binary64) #s(literal 1/16 binary64)))))
(fabs.f64 (pow.f64 #s(literal 16 binary64) #s(literal 1/16 binary64)))
(exp.f64 (/.f64 (log.f64 (sqrt.f64 #s(literal 2 binary64))) #s(literal 2 binary64)))
(exp.f64 (*.f64 (log.f64 (exp.f64 #s(literal 1/4 binary64))) (log.f64 #s(literal 2 binary64))))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 #s(literal 2 binary64))) #s(literal 1/2 binary64)))
(exp.f64 (*.f64 (log.f64 #s(literal 2 binary64)) #s(literal 1/4 binary64)))
(+.f64 (*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/16 binary64)) (cosh.f64 (*.f64 #s(literal 1/8 binary64) (log.f64 #s(literal 2 binary64))))) (*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/16 binary64)) (sinh.f64 (*.f64 #s(literal 1/8 binary64) (log.f64 #s(literal 2 binary64))))))
(+.f64 (neg.f64 (neg.f64 (cosh.f64 (*.f64 #s(literal -1/4 binary64) (log.f64 #s(literal 2 binary64)))))) (neg.f64 (sinh.f64 (*.f64 #s(literal -1/4 binary64) (log.f64 #s(literal 2 binary64))))))
(+.f64 (/.f64 (pow.f64 (cosh.f64 (*.f64 #s(literal -1/4 binary64) (log.f64 #s(literal 2 binary64)))) #s(literal 3 binary64)) (+.f64 (pow.f64 (cosh.f64 (*.f64 #s(literal -1/4 binary64) (log.f64 #s(literal 2 binary64)))) #s(literal 2 binary64)) (-.f64 (pow.f64 (sinh.f64 (*.f64 (log.f64 #s(literal 2 binary64)) #s(literal 1/4 binary64))) #s(literal 2 binary64)) (*.f64 (cosh.f64 (*.f64 #s(literal -1/4 binary64) (log.f64 #s(literal 2 binary64)))) (sinh.f64 (*.f64 (log.f64 #s(literal 2 binary64)) #s(literal 1/4 binary64))))))) (/.f64 (pow.f64 (sinh.f64 (*.f64 (log.f64 #s(literal 2 binary64)) #s(literal 1/4 binary64))) #s(literal 3 binary64)) (+.f64 (pow.f64 (cosh.f64 (*.f64 #s(literal -1/4 binary64) (log.f64 #s(literal 2 binary64)))) #s(literal 2 binary64)) (-.f64 (pow.f64 (sinh.f64 (*.f64 (log.f64 #s(literal 2 binary64)) #s(literal 1/4 binary64))) #s(literal 2 binary64)) (*.f64 (cosh.f64 (*.f64 #s(literal -1/4 binary64) (log.f64 #s(literal 2 binary64)))) (sinh.f64 (*.f64 (log.f64 #s(literal 2 binary64)) #s(literal 1/4 binary64))))))))
(+.f64 (sinh.f64 (*.f64 #s(literal -1/4 binary64) (log.f64 #s(literal 2 binary64)))) (neg.f64 (cosh.f64 (*.f64 #s(literal -1/4 binary64) (log.f64 #s(literal 2 binary64))))))
(+.f64 (neg.f64 (cosh.f64 (*.f64 #s(literal -1/4 binary64) (log.f64 #s(literal 2 binary64))))) (sinh.f64 (*.f64 #s(literal -1/4 binary64) (log.f64 #s(literal 2 binary64)))))
(+.f64 (sinh.f64 (*.f64 (log.f64 #s(literal 2 binary64)) #s(literal 1/4 binary64))) (cosh.f64 (*.f64 #s(literal -1/4 binary64) (log.f64 #s(literal 2 binary64)))))
(+.f64 (cosh.f64 (*.f64 #s(literal -1/4 binary64) (log.f64 #s(literal 2 binary64)))) (sinh.f64 (*.f64 (log.f64 #s(literal 2 binary64)) #s(literal 1/4 binary64))))
x
#s(literal 0 binary64)
x
#s(literal 0 binary64)
x
#s(literal 0 binary64)
x
#s(literal 0 binary64)
x
#s(literal 0 binary64)
x
#s(literal 0 binary64)
x
#s(literal 0 binary64)
x
#s(literal 0 binary64)
x
#s(literal 0 binary64)

eval23.0ms (0.3%)

Memory
-2.2MiB live, 42.8MiB allocated
Compiler

Compiled 4 098 to 774 computations (81.1% saved)

prune4.0ms (0.1%)

Memory
12.3MiB live, 12.3MiB allocated
Pruning

6 alts after pruning (2 fresh and 4 done)

PrunedKeptTotal
New1632165
Fresh000
Picked213
Done134
Total1666172
Accuracy
99.9%
Counts
172 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
57.1%
(sqrt.f64 (*.f64 #s(literal 2 binary64) (*.f64 (*.f64 x (sqrt.f64 x)) (sqrt.f64 x))))
38.6%
(sqrt.f64 (*.f64 #s(literal 2 binary64) (*.f64 (sqrt.f64 (*.f64 (*.f64 x x) x)) (sqrt.f64 x))))
57.3%
(sqrt.f64 (*.f64 #s(literal 2 binary64) (*.f64 x x)))
99.1%
#s(approx (sqrt (* 2 (* x x))) (*.f64 (pow.f64 (sqrt.f64 (sqrt.f64 #s(literal 2 binary64))) #s(literal 2 binary64)) x))
99.3%
#s(approx (sqrt (* 2 (* x x))) (*.f64 (sqrt.f64 #s(literal 2 binary64)) x))
20.3%
#s(approx (sqrt (* 2 (* x x))) x)
Compiler

Compiled 61 to 47 computations (23% saved)

simplify8.0ms (0.1%)

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

Found 5 expressions of interest:

NewMetricScoreProgram
cost-diff0
(sqrt.f64 (sqrt.f64 #s(literal 2 binary64)))
cost-diff0
(*.f64 (pow.f64 (sqrt.f64 (sqrt.f64 #s(literal 2 binary64))) #s(literal 2 binary64)) x)
cost-diff0
#s(approx (sqrt (* 2 (* x x))) (*.f64 (pow.f64 (sqrt.f64 (sqrt.f64 #s(literal 2 binary64))) #s(literal 2 binary64)) x))
cost-diff3
(pow.f64 (sqrt.f64 (sqrt.f64 #s(literal 2 binary64))) #s(literal 2 binary64))
cost-diff0
#s(approx (sqrt (* 2 (* x x))) x)
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01142
01539
12733
27533
316133
426133
530733
632733
734733
034727
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
#s(approx (sqrt (* 2 (* x x))) x)
x
#s(approx (sqrt (* 2 (* x x))) (*.f64 (pow.f64 (sqrt.f64 (sqrt.f64 #s(literal 2 binary64))) #s(literal 2 binary64)) x))
(*.f64 (pow.f64 (sqrt.f64 (sqrt.f64 #s(literal 2 binary64))) #s(literal 2 binary64)) x)
(pow.f64 (sqrt.f64 (sqrt.f64 #s(literal 2 binary64))) #s(literal 2 binary64))
(sqrt.f64 (sqrt.f64 #s(literal 2 binary64)))
(sqrt.f64 #s(literal 2 binary64))
#s(literal 2 binary64)
x
Outputs
#s(approx (sqrt (* 2 (* x x))) x)
x
#s(approx (sqrt (* 2 (* x x))) (*.f64 (pow.f64 (sqrt.f64 (sqrt.f64 #s(literal 2 binary64))) #s(literal 2 binary64)) x))
#s(approx (sqrt (* 2 (* x x))) (*.f64 (sqrt.f64 #s(literal 2 binary64)) x))
(*.f64 (pow.f64 (sqrt.f64 (sqrt.f64 #s(literal 2 binary64))) #s(literal 2 binary64)) x)
(*.f64 (sqrt.f64 #s(literal 2 binary64)) x)
(pow.f64 (sqrt.f64 (sqrt.f64 #s(literal 2 binary64))) #s(literal 2 binary64))
(sqrt.f64 #s(literal 2 binary64))
(sqrt.f64 (sqrt.f64 #s(literal 2 binary64)))
(sqrt.f64 #s(literal 2 binary64))
#s(literal 2 binary64)
x

localize48.0ms (0.6%)

Memory
-25.3MiB live, 72.1MiB allocated
Localize:

Found 5 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(sqrt.f64 #s(literal 2 binary64))
accuracy0.0
#s(approx (sqrt (* 2 (* x x))) (*.f64 (pow.f64 (sqrt.f64 (sqrt.f64 #s(literal 2 binary64))) #s(literal 2 binary64)) x))
accuracy0.4453125
(*.f64 (pow.f64 (sqrt.f64 (sqrt.f64 #s(literal 2 binary64))) #s(literal 2 binary64)) x)
accuracy1.0
(pow.f64 (sqrt.f64 (sqrt.f64 #s(literal 2 binary64))) #s(literal 2 binary64))
accuracy50.99569926648028
#s(approx (sqrt (* 2 (* x x))) x)
Samples
41.0ms256×0valid
Compiler

Compiled 34 to 11 computations (67.6% saved)

Precisions
Click to see histograms. Total time spent on operations: 27.0ms
ival-pow2: 17.0ms (63.8% of total)
ival-mult: 5.0ms (18.8% of total)
ival-sqrt: 4.0ms (15% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series1.0ms (0%)

Memory
2.3MiB live, 2.3MiB allocated
Counts
6 → 2
Calls
Call 1
Inputs
#s(approx (sqrt (* 2 (* x x))) x)
(pow.f64 (sqrt.f64 (sqrt.f64 #s(literal 2 binary64))) #s(literal 2 binary64))
#s(approx (sqrt (* 2 (* x x))) (*.f64 (pow.f64 (sqrt.f64 (sqrt.f64 #s(literal 2 binary64))) #s(literal 2 binary64)) x))
(*.f64 (pow.f64 (sqrt.f64 (sqrt.f64 #s(literal 2 binary64))) #s(literal 2 binary64)) x)
(sqrt.f64 (sqrt.f64 #s(literal 2 binary64)))
(sqrt.f64 #s(literal 2 binary64))
Outputs
(* x (sqrt 2))
(* -1 (* x (sqrt 2)))
Calls

3 calls:

TimeVariablePointExpression
0.0ms
x
@-inf
((sqrt (* 2 (* x x))) (pow (sqrt (sqrt 2)) 2) (sqrt (* 2 (* x x))) (* (pow (sqrt (sqrt 2)) 2) x) (sqrt (sqrt 2)) (sqrt 2))
0.0ms
x
@0
((sqrt (* 2 (* x x))) (pow (sqrt (sqrt 2)) 2) (sqrt (* 2 (* x x))) (* (pow (sqrt (sqrt 2)) 2) x) (sqrt (sqrt 2)) (sqrt 2))
0.0ms
x
@inf
((sqrt (* 2 (* x x))) (pow (sqrt (sqrt 2)) 2) (sqrt (* 2 (* x x))) (* (pow (sqrt (sqrt 2)) 2) x) (sqrt (sqrt 2)) (sqrt 2))

simplify3.0ms (0%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
069
1139
2279
3289
0289
Stop Event
iter limit
saturated
Counts
2 → 2
Calls
Call 1
Inputs
(* x (sqrt 2))
(* -1 (* x (sqrt 2)))
Outputs
(* x (sqrt 2))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) x)
(* -1 (* x (sqrt 2)))
(*.f64 (neg.f64 x) (sqrt.f64 #s(literal 2 binary64)))

rewrite44.0ms (0.6%)

Memory
-13.3MiB live, 34.0MiB allocated
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01139
01534
14128
216114
0108314
Stop Event
iter limit
iter limit
iter limit
unsound
iter limit
Counts
6 → 67
Calls
Call 1
Inputs
#s(approx (sqrt (* 2 (* x x))) x)
(pow.f64 (sqrt.f64 (sqrt.f64 #s(literal 2 binary64))) #s(literal 2 binary64))
#s(approx (sqrt (* 2 (* x x))) (*.f64 (pow.f64 (sqrt.f64 (sqrt.f64 #s(literal 2 binary64))) #s(literal 2 binary64)) x))
(*.f64 (pow.f64 (sqrt.f64 (sqrt.f64 #s(literal 2 binary64))) #s(literal 2 binary64)) x)
(sqrt.f64 (sqrt.f64 #s(literal 2 binary64)))
(sqrt.f64 #s(literal 2 binary64))
Outputs
#s(approx (sqrt (* 2 (* x x))) x)
(*.f64 (*.f64 (pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64)) (pow.f64 #s(literal 2 binary64) #s(literal 1/8 binary64))) (pow.f64 #s(literal 2 binary64) #s(literal 1/8 binary64)))
(*.f64 (neg.f64 (neg.f64 (pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64)))) (neg.f64 (neg.f64 (pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64)))))
(*.f64 (pow.f64 (neg.f64 (pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64))) #s(literal 1 binary64)) (pow.f64 (neg.f64 (pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64))) #s(literal 1 binary64)))
(*.f64 (pow.f64 #s(literal 2 binary64) #s(literal 1/8 binary64)) (*.f64 (pow.f64 #s(literal 2 binary64) #s(literal 1/8 binary64)) (pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64))))
(*.f64 (neg.f64 (pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64))) (neg.f64 (pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64))))
(*.f64 (pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64)) (pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64)))
(pow.f64 (exp.f64 (log.f64 #s(literal 2 binary64))) #s(literal 1/2 binary64))
(pow.f64 (exp.f64 #s(literal 2 binary64)) (*.f64 #s(literal 1/4 binary64) (log.f64 #s(literal 2 binary64))))
(pow.f64 #s(literal 4 binary64) #s(literal 1/4 binary64))
(pow.f64 (neg.f64 (pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64))) #s(literal 2 binary64))
(pow.f64 (pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64)) #s(literal 2 binary64))
(pow.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 1 binary64))
(pow.f64 #s(literal 2 binary64) #s(literal 1/2 binary64))
(/.f64 (-.f64 (*.f64 (cosh.f64 (log.f64 (sqrt.f64 #s(literal 2 binary64)))) (cosh.f64 (log.f64 (sqrt.f64 #s(literal 2 binary64))))) (*.f64 (sinh.f64 (log.f64 (sqrt.f64 #s(literal 2 binary64)))) (sinh.f64 (log.f64 (sqrt.f64 #s(literal 2 binary64)))))) (-.f64 (cosh.f64 (log.f64 (sqrt.f64 #s(literal 2 binary64)))) (sinh.f64 (log.f64 (sqrt.f64 #s(literal 2 binary64))))))
(/.f64 (+.f64 (pow.f64 (cosh.f64 (log.f64 (sqrt.f64 #s(literal 2 binary64)))) #s(literal 3 binary64)) (pow.f64 (sinh.f64 (log.f64 (sqrt.f64 #s(literal 2 binary64)))) #s(literal 3 binary64))) (fma.f64 (cosh.f64 (log.f64 (sqrt.f64 #s(literal 2 binary64)))) (cosh.f64 (log.f64 (sqrt.f64 #s(literal 2 binary64)))) (-.f64 (*.f64 (sinh.f64 (log.f64 (sqrt.f64 #s(literal 2 binary64)))) (sinh.f64 (log.f64 (sqrt.f64 #s(literal 2 binary64))))) (*.f64 (cosh.f64 (log.f64 (sqrt.f64 #s(literal 2 binary64)))) (sinh.f64 (log.f64 (sqrt.f64 #s(literal 2 binary64))))))))
(neg.f64 (*.f64 (neg.f64 (pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64))) (pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64))))
(neg.f64 (*.f64 (pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64)) (neg.f64 (pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64)))))
(fma.f64 #s(literal 2 binary64) (*.f64 (sinh.f64 (*.f64 #s(literal 1/4 binary64) (log.f64 #s(literal 2 binary64)))) (cosh.f64 (*.f64 #s(literal 1/4 binary64) (log.f64 #s(literal 2 binary64))))) (cosh.f64 (log.f64 (sqrt.f64 #s(literal 2 binary64)))))
(sqrt.f64 #s(literal 2 binary64))
(fabs.f64 (sqrt.f64 #s(literal 2 binary64)))
(exp.f64 (log.f64 (sqrt.f64 #s(literal 2 binary64))))
(+.f64 (sinh.f64 (log.f64 (sqrt.f64 #s(literal 2 binary64)))) (cosh.f64 (log.f64 (sqrt.f64 #s(literal 2 binary64)))))
(+.f64 (cosh.f64 (log.f64 (sqrt.f64 #s(literal 2 binary64)))) (sinh.f64 (log.f64 (sqrt.f64 #s(literal 2 binary64)))))
#s(approx (sqrt (* 2 (* x x))) #s(literal 0 binary64))
#s(literal 0 binary64)
(*.f64 (neg.f64 (pow.f64 #s(literal 2 binary64) #s(literal 1/8 binary64))) (neg.f64 (pow.f64 #s(literal 2 binary64) #s(literal 1/8 binary64))))
(*.f64 (fabs.f64 (pow.f64 #s(literal 2 binary64) #s(literal 1/8 binary64))) (fabs.f64 (pow.f64 #s(literal 2 binary64) #s(literal 1/8 binary64))))
(*.f64 (sqrt.f64 (neg.f64 (pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64)))) (sqrt.f64 (neg.f64 (pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64)))))
(*.f64 (pow.f64 (pow.f64 #s(literal 2 binary64) #s(literal 1/8 binary64)) #s(literal 1 binary64)) (pow.f64 (pow.f64 #s(literal 2 binary64) #s(literal 1/8 binary64)) #s(literal 1 binary64)))
(*.f64 (pow.f64 (neg.f64 (pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64))) #s(literal 1/2 binary64)) (pow.f64 (neg.f64 (pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64))) #s(literal 1/2 binary64)))
(*.f64 (pow.f64 #s(literal 2 binary64) #s(literal 1/8 binary64)) (pow.f64 #s(literal 2 binary64) #s(literal 1/8 binary64)))
(pow.f64 (exp.f64 #s(literal 1/2 binary64)) (log.f64 (sqrt.f64 #s(literal 2 binary64))))
(pow.f64 (pow.f64 #s(literal 2 binary64) #s(literal 1/8 binary64)) #s(literal 2 binary64))
(pow.f64 (pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64)) #s(literal 1 binary64))
(pow.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 1/2 binary64))
(pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64))
(sqrt.f64 (sqrt.f64 #s(literal 2 binary64)))
(fabs.f64 (neg.f64 (pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64))))
(fabs.f64 (pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64)))
(exp.f64 (/.f64 (log.f64 (sqrt.f64 #s(literal 2 binary64))) #s(literal 2 binary64)))
(exp.f64 (*.f64 (log.f64 #s(literal 2 binary64)) #s(literal 1/4 binary64)))
(exp.f64 (*.f64 #s(literal 1/4 binary64) (log.f64 #s(literal 2 binary64))))
(+.f64 (cosh.f64 (*.f64 #s(literal 1/4 binary64) (log.f64 #s(literal 2 binary64)))) (sinh.f64 (*.f64 #s(literal 1/4 binary64) (log.f64 #s(literal 2 binary64)))))
(*.f64 (*.f64 (pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64)) (pow.f64 #s(literal 2 binary64) #s(literal 1/8 binary64))) (pow.f64 #s(literal 2 binary64) #s(literal 1/8 binary64)))
(*.f64 (neg.f64 (neg.f64 (pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64)))) (neg.f64 (neg.f64 (pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64)))))
(*.f64 (pow.f64 (neg.f64 (pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64))) #s(literal 1 binary64)) (pow.f64 (neg.f64 (pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64))) #s(literal 1 binary64)))
(*.f64 (pow.f64 #s(literal 2 binary64) #s(literal 1/8 binary64)) (*.f64 (pow.f64 #s(literal 2 binary64) #s(literal 1/8 binary64)) (pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64))))
(*.f64 (neg.f64 (pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64))) (neg.f64 (pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64))))
(*.f64 (pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64)) (pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64)))
(pow.f64 (exp.f64 (log.f64 #s(literal 2 binary64))) #s(literal 1/2 binary64))
(pow.f64 (exp.f64 #s(literal 2 binary64)) (*.f64 #s(literal 1/4 binary64) (log.f64 #s(literal 2 binary64))))
(pow.f64 #s(literal 4 binary64) #s(literal 1/4 binary64))
(pow.f64 (neg.f64 (pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64))) #s(literal 2 binary64))
(pow.f64 (pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64)) #s(literal 2 binary64))
(pow.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 1 binary64))
(pow.f64 #s(literal 2 binary64) #s(literal 1/2 binary64))
(/.f64 (-.f64 (*.f64 (cosh.f64 (log.f64 (sqrt.f64 #s(literal 2 binary64)))) (cosh.f64 (log.f64 (sqrt.f64 #s(literal 2 binary64))))) (*.f64 (sinh.f64 (log.f64 (sqrt.f64 #s(literal 2 binary64)))) (sinh.f64 (log.f64 (sqrt.f64 #s(literal 2 binary64)))))) (-.f64 (cosh.f64 (log.f64 (sqrt.f64 #s(literal 2 binary64)))) (sinh.f64 (log.f64 (sqrt.f64 #s(literal 2 binary64))))))
(/.f64 (+.f64 (pow.f64 (cosh.f64 (log.f64 (sqrt.f64 #s(literal 2 binary64)))) #s(literal 3 binary64)) (pow.f64 (sinh.f64 (log.f64 (sqrt.f64 #s(literal 2 binary64)))) #s(literal 3 binary64))) (fma.f64 (cosh.f64 (log.f64 (sqrt.f64 #s(literal 2 binary64)))) (cosh.f64 (log.f64 (sqrt.f64 #s(literal 2 binary64)))) (-.f64 (*.f64 (sinh.f64 (log.f64 (sqrt.f64 #s(literal 2 binary64)))) (sinh.f64 (log.f64 (sqrt.f64 #s(literal 2 binary64))))) (*.f64 (cosh.f64 (log.f64 (sqrt.f64 #s(literal 2 binary64)))) (sinh.f64 (log.f64 (sqrt.f64 #s(literal 2 binary64))))))))
(neg.f64 (*.f64 (neg.f64 (pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64))) (pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64))))
(neg.f64 (*.f64 (pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64)) (neg.f64 (pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64)))))
(fma.f64 #s(literal 2 binary64) (*.f64 (sinh.f64 (*.f64 #s(literal 1/4 binary64) (log.f64 #s(literal 2 binary64)))) (cosh.f64 (*.f64 #s(literal 1/4 binary64) (log.f64 #s(literal 2 binary64))))) (cosh.f64 (log.f64 (sqrt.f64 #s(literal 2 binary64)))))
(sqrt.f64 #s(literal 2 binary64))
(fabs.f64 (sqrt.f64 #s(literal 2 binary64)))
(exp.f64 (log.f64 (sqrt.f64 #s(literal 2 binary64))))
(+.f64 (sinh.f64 (log.f64 (sqrt.f64 #s(literal 2 binary64)))) (cosh.f64 (log.f64 (sqrt.f64 #s(literal 2 binary64)))))
(+.f64 (cosh.f64 (log.f64 (sqrt.f64 #s(literal 2 binary64)))) (sinh.f64 (log.f64 (sqrt.f64 #s(literal 2 binary64)))))

eval5.0ms (0.1%)

Memory
7.4MiB live, 7.4MiB allocated
Compiler

Compiled 802 to 192 computations (76.1% saved)

prune4.0ms (0.1%)

Memory
6.2MiB live, 6.2MiB allocated
Pruning

6 alts after pruning (0 fresh and 6 done)

PrunedKeptTotal
New46046
Fresh000
Picked022
Done044
Total46652
Accuracy
99.9%
Counts
52 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
57.1%
(sqrt.f64 (*.f64 #s(literal 2 binary64) (*.f64 (*.f64 x (sqrt.f64 x)) (sqrt.f64 x))))
38.6%
(sqrt.f64 (*.f64 #s(literal 2 binary64) (*.f64 (sqrt.f64 (*.f64 (*.f64 x x) x)) (sqrt.f64 x))))
57.3%
(sqrt.f64 (*.f64 #s(literal 2 binary64) (*.f64 x x)))
99.1%
#s(approx (sqrt (* 2 (* x x))) (*.f64 (pow.f64 (sqrt.f64 (sqrt.f64 #s(literal 2 binary64))) #s(literal 2 binary64)) x))
99.3%
#s(approx (sqrt (* 2 (* x x))) (*.f64 (sqrt.f64 #s(literal 2 binary64)) x))
20.3%
#s(approx (sqrt (* 2 (* x x))) x)
Compiler

Compiled 144 to 84 computations (41.7% saved)

regimes13.0ms (0.2%)

Memory
16.1MiB live, 16.1MiB allocated
Counts
9 → 1
Calls
Call 1
Inputs
#s(literal 0 binary64)
#s(approx (sqrt (* 2 (* x x))) x)
#s(approx (sqrt (* 2 (* x x))) (*.f64 (sqrt.f64 #s(literal 2 binary64)) x))
(sqrt.f64 (*.f64 #s(literal 2 binary64) (*.f64 x x)))
(sqrt.f64 (*.f64 #s(literal 2 binary64) (*.f64 (*.f64 x (sqrt.f64 x)) (sqrt.f64 x))))
(sqrt.f64 (*.f64 #s(literal 2 binary64) (*.f64 (sqrt.f64 (*.f64 (*.f64 x x) x)) (sqrt.f64 x))))
#s(approx (sqrt (* 2 (* x x))) (*.f64 (pow.f64 (sqrt.f64 (sqrt.f64 #s(literal 2 binary64))) #s(literal 2 binary64)) x))
(sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 (sqrt.f64 x) #s(literal 4 binary64))))
#s(approx (sqrt (* 2 (* x x))) (*.f64 (pow.f64 (pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64)) #s(literal 2 binary64)) x))
Outputs
#s(approx (sqrt (* 2 (* x x))) (*.f64 (sqrt.f64 #s(literal 2 binary64)) x))
Calls

4 calls:

3.0ms
x
3.0ms
(sqrt.f64 (*.f64 #s(literal 2 binary64) (*.f64 x x)))
3.0ms
(*.f64 x x)
3.0ms
(*.f64 #s(literal 2 binary64) (*.f64 x x))
Results
AccuracySegmentsBranch
99.3%1x
99.3%1(sqrt.f64 (*.f64 #s(literal 2 binary64) (*.f64 x x)))
99.3%1(*.f64 #s(literal 2 binary64) (*.f64 x x))
99.3%1(*.f64 x x)
Compiler

Compiled 15 to 12 computations (20% saved)

regimes10.0ms (0.1%)

Memory
-36.2MiB live, 10.0MiB allocated
Counts
2 → 1
Calls
Call 1
Inputs
#s(literal 0 binary64)
#s(approx (sqrt (* 2 (* x x))) x)
Outputs
#s(approx (sqrt (* 2 (* x x))) x)
Calls

4 calls:

5.0ms
(sqrt.f64 (*.f64 #s(literal 2 binary64) (*.f64 x x)))
1.0ms
x
1.0ms
(*.f64 #s(literal 2 binary64) (*.f64 x x))
1.0ms
(*.f64 x x)
Results
AccuracySegmentsBranch
20.3%1x
20.3%1(sqrt.f64 (*.f64 #s(literal 2 binary64) (*.f64 x x)))
20.3%1(*.f64 #s(literal 2 binary64) (*.f64 x x))
20.3%1(*.f64 x x)
Compiler

Compiled 15 to 12 computations (20% saved)

regimes5.0ms (0.1%)

Memory
8.1MiB live, 8.1MiB allocated
Accuracy

Total -0.0b remaining (-0%)

Threshold costs -0b (-0%)

Counts
1 → 1
Calls
Call 1
Inputs
#s(literal 0 binary64)
Outputs
#s(literal 0 binary64)
Calls

4 calls:

1.0ms
x
1.0ms
(sqrt.f64 (*.f64 #s(literal 2 binary64) (*.f64 x x)))
1.0ms
(*.f64 #s(literal 2 binary64) (*.f64 x x))
1.0ms
(*.f64 x x)
Results
AccuracySegmentsBranch
3.8%1(sqrt.f64 (*.f64 #s(literal 2 binary64) (*.f64 x x)))
3.8%1(*.f64 #s(literal 2 binary64) (*.f64 x x))
3.8%1(*.f64 x x)
3.8%1x
Compiler

Compiled 15 to 12 computations (20% saved)

simplify41.0ms (0.5%)

Memory
2.1MiB live, 46.2MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01020
12020
25720
312820
419920
526120
645120
7204720
8320220
Stop Event
node limit
Calls
Call 1
Inputs
#s(approx (sqrt (* 2 (* x x))) (*.f64 (sqrt.f64 #s(literal 2 binary64)) x))
#s(approx (sqrt (* 2 (* x x))) x)
#s(literal 0 binary64)
Outputs
#s(approx (sqrt (* 2 (* x x))) (*.f64 (sqrt.f64 #s(literal 2 binary64)) x))
#s(approx (sqrt (* 2 (* x x))) x)
#s(literal 0 binary64)

soundness5.9s (76.6%)

Memory
1.3MiB live, 186.7MiB allocated
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0817
11817
24317
39217
422817
543717
648517
048517
0514
0813
12413
21025
07775
01347
02036
14929
218814
099814
02191
03468
19355
233518
3193218
0915918
Stop Event
done
iter limit
node limit
iter limit
iter limit
iter limit
iter limit
unsound
iter limit
iter limit
iter limit
iter limit
unsound
iter limit
iter limit
saturated
Compiler

Compiled 46 to 34 computations (26.1% saved)

preprocess19.0ms (0.3%)

Memory
35.9MiB live, 35.9MiB allocated
Compiler

Compiled 74 to 50 computations (32.4% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...