Diagrams.Solve.Polynomial:cubForm from diagrams-solve-0.1, D

Time bar (total: 5.0s)

start0.0ms (0%)

Memory
0.1MiB live, 0.1MiB allocated

analyze351.0ms (7.1%)

Memory
9.6MiB live, 443.0MiB allocated
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.8%0.2%0%0%0%0
0%0%99.8%0.2%0%0%0%1
0%0%99.8%0.2%0%0%0%2
0%0%99.8%0.2%0%0%0%3
0%0%99.8%0.2%0%0%0%4
0%0%99.8%0.2%0%0%0%5
0%0%99.8%0.2%0%0%0%6
0%0%99.8%0.2%0%0%0%7
0%0%99.8%0.2%0%0%0%8
4.2%3.1%71.7%0.2%0%25%0%9
4.2%3.1%71.3%0.2%0%25.3%0%10
6.3%4.7%69.2%0.2%0%25.9%0%11
9.2%6.6%65.8%0.2%0%27.4%0%12
Compiler

Compiled 21 to 20 computations (4.8% saved)

sample3.7s (74.5%)

Memory
-19.0MiB live, 5 679.0MiB allocated
Samples
1.7s15 687×0invalid
879.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 1.7s
ival-mult: 720.0ms (41.5% of total)
ival-div: 588.0ms (33.9% of total)
ival-sqrt: 178.0ms (10.3% of total)
ival-acos: 177.0ms (10.2% of total)
exact: 43.0ms (2.5% of total)
ival-true: 20.0ms (1.2% of total)
ival-assert: 10.0ms (0.6% of total)
Bogosity

explain173.0ms (3.5%)

Memory
-4.7MiB live, 272.4MiB allocated
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
270-2(-4.41197554284809e-197 -1.393542089376388e+124 1.2683002031983944e-60 4.701426431476854e+285)(/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64)))
180-3(-1.3136318852039512e+221 -3.62188612180095e+300 -2.6985539244369466e+240 6.226833385059057e+27)(*.f64 (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t))
00-0-t
00-0-#s(literal 3 binary64)
00-0-#s(literal 1 binary64)
01(1.094834578547863e-125 -2.6666904941069495e+197 -2.5110407370518456e+116 8.119366151354758e-36)0-(*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64))))
00-0-(*.f64 y #s(literal 27 binary64))
00-0-y
00-0-(/.f64 x (*.f64 y #s(literal 27 binary64)))
00-0-#s(literal 27 binary64)
00-0-z
00-0-(/.f64 #s(literal 1 binary64) #s(literal 3 binary64))
00-0-(acos.f64 (*.f64 (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t)))
00-0-#s(literal 2 binary64)
00-0-(*.f64 z #s(literal 2 binary64))
00-0-(sqrt.f64 t)
00-0-(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t))))
00-0-x
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
/.f64(/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64)))u/n220
(/.f64 x (*.f64 y #s(literal 27 binary64)))underflow57
(*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64))))underflow56
*.f64(*.f64 (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t))n*u150
/.f64(/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64)))o/n20
(/.f64 x (*.f64 y #s(literal 27 binary64)))overflow2
(*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64))))overflow2
/.f64(/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64)))n/o10
(*.f64 z #s(literal 2 binary64))overflow1
*.f64(*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64))))n*u10
Confusion
Predicted +Predicted -
+20
-39215
Precision
0.04878048780487805
Recall
1.0
Confusion?
Predicted +Predicted MaybePredicted -
+200
-390215
Precision?
0.04878048780487805
Recall?
1.0
Freqs
test
numberfreq
0215
141
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Samples
61.0ms512×0valid
Compiler

Compiled 293 to 76 computations (74.1% saved)

Precisions
Click to see histograms. Total time spent on operations: 35.0ms
ival-mult: 14.0ms (40.4% of total)
ival-div: 10.0ms (28.9% of total)
ival-sqrt: 4.0ms (11.6% of total)
ival-acos: 4.0ms (11.6% of total)
exact: 1.0ms (2.9% of total)
ival-true: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

preprocess4.0ms (0.1%)

Memory
8.4MiB live, 8.4MiB allocated
Algorithm
egg-herbie
Calls
Call 1
Inputs
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t))))
Outputs
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t))))
Compiler

Compiled 19 to 18 computations (5.3% saved)

eval0.0ms (0%)

Memory
0.1MiB live, 0.1MiB allocated
Compiler

Compiled 0 to 4 computations (-∞% saved)

prune1.0ms (0%)

Memory
1.0MiB live, 1.0MiB allocated
Alt Table
Click to see full alt table
StatusAccuracyProgram
97.7%
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t))))
Compiler

Compiled 19 to 18 computations (5.3% saved)

simplify7.0ms (0.1%)

Memory
-36.1MiB live, 1.4MiB allocated
Algorithm
egg-herbie
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t))
cost-diff0
(acos.f64 (*.f64 (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t)))
cost-diff0
(/.f64 #s(literal 1 binary64) #s(literal 3 binary64))
cost-diff0
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t))))
Calls
Call 1
Inputs
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t))))
(/.f64 #s(literal 1 binary64) #s(literal 3 binary64))
#s(literal 1 binary64)
#s(literal 3 binary64)
(acos.f64 (*.f64 (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t)))
(*.f64 (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t))
(/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64)))
(*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64))))
(/.f64 x (*.f64 y #s(literal 27 binary64)))
x
(*.f64 y #s(literal 27 binary64))
y
#s(literal 27 binary64)
(*.f64 z #s(literal 2 binary64))
z
#s(literal 2 binary64)
(sqrt.f64 t)
t
Outputs
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t))))
(/.f64 #s(literal 1 binary64) #s(literal 3 binary64))
#s(literal 1 binary64)
#s(literal 3 binary64)
(acos.f64 (*.f64 (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t)))
(*.f64 (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t))
(/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64)))
(*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64))))
(/.f64 x (*.f64 y #s(literal 27 binary64)))
x
(*.f64 y #s(literal 27 binary64))
y
#s(literal 27 binary64)
(*.f64 z #s(literal 2 binary64))
z
#s(literal 2 binary64)
(sqrt.f64 t)
t

localize44.0ms (0.9%)

Memory
18.3MiB live, 70.8MiB allocated
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy0.24609375
(*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64))))
accuracy0.97265625
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t))))
accuracy3.7872275454077617
(*.f64 (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t))
accuracy6.185772119356528
(/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64)))
Samples
33.0ms256×0valid
Compiler

Compiled 182 to 38 computations (79.1% saved)

Precisions
Click to see histograms. Total time spent on operations: 17.0ms
ival-mult: 7.0ms (40.9% of total)
ival-div: 5.0ms (29.2% of total)
ival-sqrt: 2.0ms (11.7% of total)
ival-acos: 2.0ms (11.7% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series25.0ms (0.5%)

Memory
1.1MiB live, 39.2MiB allocated
Counts
6 → 8
Calls
Call 1
Inputs
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t))))
(/.f64 #s(literal 1 binary64) #s(literal 3 binary64))
(acos.f64 (*.f64 (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t)))
(*.f64 (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t))
(/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64)))
(*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64))))
Outputs
(* 1/3 (acos (* 1/18 (* (sqrt t) (/ x (* y z))))))
(acos (* 1/18 (* (sqrt t) (/ x (* y z)))))
(* 1/18 (* (sqrt t) (/ x (* y z))))
(* 1/18 (/ x (* y z)))
(* 1/9 (/ x y))
(* 1/3 (acos (* 1/18 (* (sqrt t) (/ (* x (pow (sqrt -1) 2)) (* y z))))))
(acos (* 1/18 (* (sqrt t) (/ (* x (pow (sqrt -1) 2)) (* y z)))))
(* -1/18 (* (sqrt t) (/ (* x (pow (sqrt -1) 2)) (* y z))))
Calls

12 calls:

TimeVariablePointExpression
5.0ms
x
@inf
((* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (/ (* 3 (/ x (* y 27))) (* z 2)) (* 3 (/ x (* y 27))))
3.0ms
y
@0
((* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (/ (* 3 (/ x (* y 27))) (* z 2)) (* 3 (/ x (* y 27))))
3.0ms
x
@0
((* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (/ (* 3 (/ x (* y 27))) (* z 2)) (* 3 (/ x (* y 27))))
2.0ms
t
@-inf
((* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (/ (* 3 (/ x (* y 27))) (* z 2)) (* 3 (/ x (* y 27))))
2.0ms
x
@-inf
((* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (/ (* 3 (/ x (* y 27))) (* z 2)) (* 3 (/ x (* y 27))))

simplify0.0ms (0%)

Memory
0.8MiB live, 0.8MiB allocated
Algorithm
egg-herbie
Counts
8 → 6
Calls
Call 1
Inputs
(* 1/3 (acos (* 1/18 (* (sqrt t) (/ x (* y z))))))
(acos (* 1/18 (* (sqrt t) (/ x (* y z)))))
(* 1/18 (* (sqrt t) (/ x (* y z))))
(* 1/18 (/ x (* y z)))
(* 1/9 (/ x y))
(* 1/3 (acos (* 1/18 (* (sqrt t) (/ (* x (pow (sqrt -1) 2)) (* y z))))))
(acos (* 1/18 (* (sqrt t) (/ (* x (pow (sqrt -1) 2)) (* y z)))))
(* -1/18 (* (sqrt t) (/ (* x (pow (sqrt -1) 2)) (* y z))))
Outputs
(* 1/3 (acos (* 1/18 (* (sqrt t) (/ x (* y z))))))
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t))))
(acos (* 1/18 (* (sqrt t) (/ x (* y z)))))
(/.f64 #s(literal 1 binary64) #s(literal 3 binary64))
(* 1/18 (* (sqrt t) (/ x (* y z))))
(acos.f64 (*.f64 (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t)))
(* 1/18 (/ x (* y z)))
(*.f64 (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t))
(* 1/9 (/ x y))
(/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64)))
(* 1/3 (acos (* 1/18 (* (sqrt t) (/ (* x (pow (sqrt -1) 2)) (* y z))))))
(*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64))))

rewrite0.0ms (0%)

Memory
0.8MiB live, 0.8MiB allocated
Counts
6 → 6
Calls
Call 1
Inputs
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t))))
(/.f64 #s(literal 1 binary64) #s(literal 3 binary64))
(acos.f64 (*.f64 (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t)))
(*.f64 (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t))
(/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64)))
(*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64))))
Outputs
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t))))
(/.f64 #s(literal 1 binary64) #s(literal 3 binary64))
(acos.f64 (*.f64 (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t)))
(*.f64 (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t))
(/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64)))
(*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64))))

eval1.0ms (0%)

Memory
2.6MiB live, 2.6MiB allocated
Compiler

Compiled 303 to 48 computations (84.2% saved)

prune2.0ms (0%)

Memory
4.5MiB live, 4.5MiB allocated
Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New9312
Fresh000
Picked011
Done000
Total9413
Accuracy
97.8%
Counts
13 → 4
Alt Table
Click to see full alt table
StatusAccuracyProgram
97.7%
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t))))
86.9%
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 (/.f64 #s(approx (* 3 (/ x (* y 27))) (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t))))
16.9%
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))))
3.9%
#s(approx (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))))
Compiler

Compiled 100 to 87 computations (13% saved)

simplify3.0ms (0.1%)

Memory
-35.7MiB live, 1.9MiB allocated
Algorithm
egg-herbie
Localize:

Found 11 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 (/.f64 #s(approx (* 3 (/ x (* y 27))) (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t))
cost-diff0
(acos.f64 (*.f64 (/.f64 #s(approx (* 3 (/ x (* y 27))) (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t)))
cost-diff0
(/.f64 #s(literal 1 binary64) #s(literal 3 binary64))
cost-diff0
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 (/.f64 #s(approx (* 3 (/ x (* y 27))) (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t))))
cost-diff0
#s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))
cost-diff0
(/.f64 #s(literal 1 binary64) #s(literal 3 binary64))
cost-diff0
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))))
cost-diff0
(*.f64 y #s(literal 27 binary64))
cost-diff0
(/.f64 x (*.f64 y #s(literal 27 binary64)))
cost-diff0
(*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64))))
cost-diff0
#s(approx (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))))
Calls
Call 1
Inputs
#s(approx (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))))
(*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64))))
#s(literal 3 binary64)
(/.f64 x (*.f64 y #s(literal 27 binary64)))
x
(*.f64 y #s(literal 27 binary64))
y
#s(literal 27 binary64)
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))))
(/.f64 #s(literal 1 binary64) #s(literal 3 binary64))
#s(literal 1 binary64)
#s(literal 3 binary64)
#s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 (/.f64 #s(approx (* 3 (/ x (* y 27))) (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t))))
(/.f64 #s(literal 1 binary64) #s(literal 3 binary64))
#s(literal 1 binary64)
#s(literal 3 binary64)
(acos.f64 (*.f64 (/.f64 #s(approx (* 3 (/ x (* y 27))) (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t)))
(*.f64 (/.f64 #s(approx (* 3 (/ x (* y 27))) (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t))
(/.f64 #s(approx (* 3 (/ x (* y 27))) (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64)))) (*.f64 z #s(literal 2 binary64)))
#s(approx (* 3 (/ x (* y 27))) (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64))))
(/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64)))
(*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64))))
(/.f64 x (*.f64 y #s(literal 27 binary64)))
x
(*.f64 y #s(literal 27 binary64))
y
#s(literal 27 binary64)
(*.f64 z #s(literal 2 binary64))
z
#s(literal 2 binary64)
(sqrt.f64 t)
t
Outputs
#s(approx (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))))
(*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64))))
#s(literal 3 binary64)
(/.f64 x (*.f64 y #s(literal 27 binary64)))
x
(*.f64 y #s(literal 27 binary64))
y
#s(literal 27 binary64)
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))))
(/.f64 #s(literal 1 binary64) #s(literal 3 binary64))
#s(literal 1 binary64)
#s(literal 3 binary64)
#s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 (/.f64 #s(approx (* 3 (/ x (* y 27))) (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t))))
(/.f64 #s(literal 1 binary64) #s(literal 3 binary64))
#s(literal 1 binary64)
#s(literal 3 binary64)
(acos.f64 (*.f64 (/.f64 #s(approx (* 3 (/ x (* y 27))) (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t)))
(*.f64 (/.f64 #s(approx (* 3 (/ x (* y 27))) (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t))
(/.f64 #s(approx (* 3 (/ x (* y 27))) (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64)))) (*.f64 z #s(literal 2 binary64)))
#s(approx (* 3 (/ x (* y 27))) (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64))))
(/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64)))
(*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64))))
(/.f64 x (*.f64 y #s(literal 27 binary64)))
x
(*.f64 y #s(literal 27 binary64))
y
#s(literal 27 binary64)
(*.f64 z #s(literal 2 binary64))
z
#s(literal 2 binary64)
(sqrt.f64 t)
t

localize51.0ms (1%)

Memory
5.6MiB live, 86.0MiB allocated
Localize:

Found 11 expressions of interest:

NewMetricScoreProgram
accuracy3.7872275454077617
(*.f64 (/.f64 #s(approx (* 3 (/ x (* y 27))) (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t))
accuracy6.185772119356528
(/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64)))
accuracy6.185772119356528
(/.f64 #s(approx (* 3 (/ x (* y 27))) (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64)))) (*.f64 z #s(literal 2 binary64)))
accuracy52.400669339967976
#s(approx (* 3 (/ x (* y 27))) (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64))))
accuracy0.0
(/.f64 #s(literal 1 binary64) #s(literal 3 binary64))
accuracy0.97265625
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))))
accuracy53.16237781234753
#s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))
accuracy0.0
(*.f64 y #s(literal 27 binary64))
accuracy0.21484375
(/.f64 x (*.f64 y #s(literal 27 binary64)))
accuracy0.24609375
(*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64))))
accuracy61.5294906222786
#s(approx (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))))
Samples
34.0ms256×0valid
Compiler

Compiled 448 to 57 computations (87.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 17.0ms
ival-mult: 7.0ms (41.1% of total)
ival-div: 5.0ms (29.3% of total)
ival-sqrt: 2.0ms (11.7% of total)
ival-acos: 2.0ms (11.7% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series23.0ms (0.5%)

Memory
4.5MiB live, 42.9MiB allocated
Counts
13 → 10
Calls
Call 1
Inputs
#s(approx (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))))
(*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64))))
(/.f64 x (*.f64 y #s(literal 27 binary64)))
(*.f64 y #s(literal 27 binary64))
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))))
(/.f64 #s(literal 1 binary64) #s(literal 3 binary64))
#s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 (/.f64 #s(approx (* 3 (/ x (* y 27))) (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t))))
(acos.f64 (*.f64 (/.f64 #s(approx (* 3 (/ x (* y 27))) (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t)))
(*.f64 (/.f64 #s(approx (* 3 (/ x (* y 27))) (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t))
#s(approx (* 3 (/ x (* y 27))) (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64))))
(/.f64 #s(approx (* 3 (/ x (* y 27))) (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64)))) (*.f64 z #s(literal 2 binary64)))
(/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64)))
Outputs
(* 1/3 (acos (* 1/18 (* (sqrt t) (/ x (* y z))))))
(* 1/9 (/ x y))
(* 1/27 (/ x y))
(acos (* 1/18 (* (sqrt t) (/ x (* y z)))))
(* 1/18 (* (sqrt t) (/ x (* y z))))
(* 1/18 (/ x (* y z)))
(* 27 y)
(* 1/3 (acos (* 1/18 (* (sqrt t) (/ (* x (pow (sqrt -1) 2)) (* y z))))))
(acos (* 1/18 (* (sqrt t) (/ (* x (pow (sqrt -1) 2)) (* y z)))))
(* -1/18 (* (sqrt t) (/ (* x (pow (sqrt -1) 2)) (* y z))))
Calls

12 calls:

TimeVariablePointExpression
4.0ms
x
@0
((* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (* 3 (/ x (* y 27))) (/ x (* y 27)) (* y 27) (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (* 3 (/ x (* y 27))) (/ (* 3 (/ x (* y 27))) (* z 2)) (/ (* 3 (/ x (* y 27))) (* z 2)))
4.0ms
z
@inf
((* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (* 3 (/ x (* y 27))) (/ x (* y 27)) (* y 27) (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (* 3 (/ x (* y 27))) (/ (* 3 (/ x (* y 27))) (* z 2)) (/ (* 3 (/ x (* y 27))) (* z 2)))
2.0ms
x
@-inf
((* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (* 3 (/ x (* y 27))) (/ x (* y 27)) (* y 27) (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (* 3 (/ x (* y 27))) (/ (* 3 (/ x (* y 27))) (* z 2)) (/ (* 3 (/ x (* y 27))) (* z 2)))
2.0ms
x
@inf
((* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (* 3 (/ x (* y 27))) (/ x (* y 27)) (* y 27) (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (* 3 (/ x (* y 27))) (/ (* 3 (/ x (* y 27))) (* z 2)) (/ (* 3 (/ x (* y 27))) (* z 2)))
2.0ms
y
@inf
((* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (* 3 (/ x (* y 27))) (/ x (* y 27)) (* y 27) (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (* 3 (/ x (* y 27))) (/ (* 3 (/ x (* y 27))) (* z 2)) (/ (* 3 (/ x (* y 27))) (* z 2)))

simplify1.0ms (0%)

Memory
1.0MiB live, 1.0MiB allocated
Algorithm
egg-herbie
Counts
10 → 10
Calls
Call 1
Inputs
(* 1/3 (acos (* 1/18 (* (sqrt t) (/ x (* y z))))))
(* 1/9 (/ x y))
(* 1/27 (/ x y))
(acos (* 1/18 (* (sqrt t) (/ x (* y z)))))
(* 1/18 (* (sqrt t) (/ x (* y z))))
(* 1/18 (/ x (* y z)))
(* 27 y)
(* 1/3 (acos (* 1/18 (* (sqrt t) (/ (* x (pow (sqrt -1) 2)) (* y z))))))
(acos (* 1/18 (* (sqrt t) (/ (* x (pow (sqrt -1) 2)) (* y z)))))
(* -1/18 (* (sqrt t) (/ (* x (pow (sqrt -1) 2)) (* y z))))
Outputs
(* 1/3 (acos (* 1/18 (* (sqrt t) (/ x (* y z))))))
#s(approx (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))))
(* 1/9 (/ x y))
(*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64))))
(* 1/27 (/ x y))
(/.f64 x (*.f64 y #s(literal 27 binary64)))
(acos (* 1/18 (* (sqrt t) (/ x (* y z)))))
(*.f64 y #s(literal 27 binary64))
(* 1/18 (* (sqrt t) (/ x (* y z))))
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))))
(* 1/18 (/ x (* y z)))
(/.f64 #s(literal 1 binary64) #s(literal 3 binary64))
(* 27 y)
#s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))
(* 1/3 (acos (* 1/18 (* (sqrt t) (/ (* x (pow (sqrt -1) 2)) (* y z))))))
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 (/.f64 #s(approx (* 3 (/ x (* y 27))) (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t))))
(acos (* 1/18 (* (sqrt t) (/ (* x (pow (sqrt -1) 2)) (* y z)))))
(acos.f64 (*.f64 (/.f64 #s(approx (* 3 (/ x (* y 27))) (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t)))
(* -1/18 (* (sqrt t) (/ (* x (pow (sqrt -1) 2)) (* y z))))
(*.f64 (/.f64 #s(approx (* 3 (/ x (* y 27))) (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t))

rewrite1.0ms (0%)

Memory
1.8MiB live, 1.8MiB allocated
Counts
13 → 13
Calls
Call 1
Inputs
#s(approx (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))))
(*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64))))
(/.f64 x (*.f64 y #s(literal 27 binary64)))
(*.f64 y #s(literal 27 binary64))
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))))
(/.f64 #s(literal 1 binary64) #s(literal 3 binary64))
#s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 (/.f64 #s(approx (* 3 (/ x (* y 27))) (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t))))
(acos.f64 (*.f64 (/.f64 #s(approx (* 3 (/ x (* y 27))) (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t)))
(*.f64 (/.f64 #s(approx (* 3 (/ x (* y 27))) (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t))
#s(approx (* 3 (/ x (* y 27))) (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64))))
(/.f64 #s(approx (* 3 (/ x (* y 27))) (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64)))) (*.f64 z #s(literal 2 binary64)))
(/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64)))
Outputs
#s(approx (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))))
(*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64))))
(/.f64 x (*.f64 y #s(literal 27 binary64)))
(*.f64 y #s(literal 27 binary64))
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))))
(/.f64 #s(literal 1 binary64) #s(literal 3 binary64))
#s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 (/.f64 #s(approx (* 3 (/ x (* y 27))) (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t))))
(acos.f64 (*.f64 (/.f64 #s(approx (* 3 (/ x (* y 27))) (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t)))
(*.f64 (/.f64 #s(approx (* 3 (/ x (* y 27))) (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t))
#s(approx (* 3 (/ x (* y 27))) (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64))))
(/.f64 #s(approx (* 3 (/ x (* y 27))) (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64)))) (*.f64 z #s(literal 2 binary64)))
(/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64)))

eval3.0ms (0.1%)

Memory
6.0MiB live, 6.0MiB allocated
Compiler

Compiled 1 032 to 80 computations (92.2% saved)

prune5.0ms (0.1%)

Memory
9.5MiB live, 9.5MiB allocated
Pruning

7 alts after pruning (3 fresh and 4 done)

PrunedKeptTotal
New28331
Fresh000
Picked033
Done011
Total28735
Accuracy
98.5%
Counts
35 → 7
Alt Table
Click to see full alt table
StatusAccuracyProgram
97.7%
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t))))
86.9%
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 (/.f64 #s(approx (* 3 (/ x (* y 27))) (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t))))
53.7%
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))) (sqrt.f64 t))))
23.9%
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))))))
16.9%
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))))
3.7%
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64))))
3.9%
#s(approx (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))))
Compiler

Compiled 189 to 152 computations (19.6% saved)

simplify1.0ms (0%)

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

Found 12 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))) (sqrt.f64 t))
cost-diff0
(acos.f64 (*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))) (sqrt.f64 t)))
cost-diff0
(/.f64 #s(literal 1 binary64) #s(literal 3 binary64))
cost-diff0
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))) (sqrt.f64 t))))
cost-diff0
#s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))))
cost-diff0
(acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))))))
cost-diff0
(/.f64 #s(literal 1 binary64) #s(literal 3 binary64))
cost-diff0
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))))))
cost-diff0
(*.f64 y #s(literal 27 binary64))
cost-diff0
#s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64)))
cost-diff0
(/.f64 #s(literal 1 binary64) #s(literal 3 binary64))
cost-diff0
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64))))
Calls
Call 1
Inputs
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64))))
(/.f64 #s(literal 1 binary64) #s(literal 3 binary64))
#s(literal 1 binary64)
#s(literal 3 binary64)
#s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64)))
(*.f64 y #s(literal 27 binary64))
y
#s(literal 27 binary64)
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))))))
(/.f64 #s(literal 1 binary64) #s(literal 3 binary64))
#s(literal 1 binary64)
#s(literal 3 binary64)
(acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))))))
#s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))))
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))))
#s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))) (sqrt.f64 t))))
(/.f64 #s(literal 1 binary64) #s(literal 3 binary64))
#s(literal 1 binary64)
#s(literal 3 binary64)
(acos.f64 (*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))) (sqrt.f64 t)))
(*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))) (sqrt.f64 t))
#s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))
(sqrt.f64 t)
t
Outputs
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64))))
(/.f64 #s(literal 1 binary64) #s(literal 3 binary64))
#s(literal 1 binary64)
#s(literal 3 binary64)
#s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64)))
(*.f64 y #s(literal 27 binary64))
y
#s(literal 27 binary64)
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))))))
(/.f64 #s(literal 1 binary64) #s(literal 3 binary64))
#s(literal 1 binary64)
#s(literal 3 binary64)
(acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))))))
#s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))))
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))))
#s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))) (sqrt.f64 t))))
(/.f64 #s(literal 1 binary64) #s(literal 3 binary64))
#s(literal 1 binary64)
#s(literal 3 binary64)
(acos.f64 (*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))) (sqrt.f64 t)))
(*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))) (sqrt.f64 t))
#s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))
(sqrt.f64 t)
t

localize51.0ms (1%)

Memory
6.9MiB live, 80.1MiB allocated
Localize:

Found 12 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(acos.f64 (*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))) (sqrt.f64 t)))
accuracy0.97265625
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))) (sqrt.f64 t))))
accuracy3.7872275454077617
(*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))) (sqrt.f64 t))
accuracy61.71593437294053
#s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))
accuracy0.97265625
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))))))
accuracy0.97265625
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))))
accuracy53.16237781234753
#s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))
accuracy61.658006704182405
#s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))))
accuracy0.0
(/.f64 #s(literal 1 binary64) #s(literal 3 binary64))
accuracy0.0
(*.f64 y #s(literal 27 binary64))
accuracy0.97265625
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64))))
accuracy61.618673591043496
#s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64)))
Samples
39.0ms256×0valid
Compiler

Compiled 502 to 52 computations (89.6% saved)

Precisions
Click to see histograms. Total time spent on operations: 23.0ms
ival-mult: 13.0ms (56.1% of total)
ival-div: 5.0ms (21.6% of total)
ival-sqrt: 2.0ms (8.6% of total)
ival-acos: 2.0ms (8.6% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series22.0ms (0.4%)

Memory
-10.8MiB live, 33.5MiB allocated
Counts
13 → 8
Calls
Call 1
Inputs
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64))))
(/.f64 #s(literal 1 binary64) #s(literal 3 binary64))
#s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64)))
(*.f64 y #s(literal 27 binary64))
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))))))
(acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))))))
#s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))))
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))) (sqrt.f64 t))))
(acos.f64 (*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))) (sqrt.f64 t)))
(*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))) (sqrt.f64 t))
#s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))))
#s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))
Outputs
(* 1/3 (acos (* 1/18 (* (sqrt t) (/ x (* y z))))))
(acos (* 1/18 (* (sqrt t) (/ x (* y z)))))
(* 1/18 (* (sqrt t) (/ x (* y z))))
(* 1/18 (/ x (* y z)))
(* 27 y)
(* 1/3 (acos (* 1/18 (* (sqrt t) (/ (* x (pow (sqrt -1) 2)) (* y z))))))
(acos (* 1/18 (* (sqrt t) (/ (* x (pow (sqrt -1) 2)) (* y z)))))
(* -1/18 (* (sqrt t) (/ (* x (pow (sqrt -1) 2)) (* y z))))
Calls

12 calls:

TimeVariablePointExpression
9.0ms
x
@-inf
((* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (* y 27) (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (/ (* 3 (/ x (* y 27))) (* z 2)))
1.0ms
t
@-inf
((* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (* y 27) (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (/ (* 3 (/ x (* y 27))) (* z 2)))
1.0ms
x
@inf
((* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (* y 27) (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (/ (* 3 (/ x (* y 27))) (* z 2)))
1.0ms
y
@0
((* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (* y 27) (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (/ (* 3 (/ x (* y 27))) (* z 2)))
1.0ms
y
@-inf
((* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (* y 27) (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (/ (* 3 (/ x (* y 27))) (* z 2)))

simplify0.0ms (0%)

Memory
1.0MiB live, 1.0MiB allocated
Algorithm
egg-herbie
Counts
8 → 8
Calls
Call 1
Inputs
(* 1/3 (acos (* 1/18 (* (sqrt t) (/ x (* y z))))))
(acos (* 1/18 (* (sqrt t) (/ x (* y z)))))
(* 1/18 (* (sqrt t) (/ x (* y z))))
(* 1/18 (/ x (* y z)))
(* 27 y)
(* 1/3 (acos (* 1/18 (* (sqrt t) (/ (* x (pow (sqrt -1) 2)) (* y z))))))
(acos (* 1/18 (* (sqrt t) (/ (* x (pow (sqrt -1) 2)) (* y z)))))
(* -1/18 (* (sqrt t) (/ (* x (pow (sqrt -1) 2)) (* y z))))
Outputs
(* 1/3 (acos (* 1/18 (* (sqrt t) (/ x (* y z))))))
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64))))
(acos (* 1/18 (* (sqrt t) (/ x (* y z)))))
(/.f64 #s(literal 1 binary64) #s(literal 3 binary64))
(* 1/18 (* (sqrt t) (/ x (* y z))))
#s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64)))
(* 1/18 (/ x (* y z)))
(*.f64 y #s(literal 27 binary64))
(* 27 y)
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))))))
(* 1/3 (acos (* 1/18 (* (sqrt t) (/ (* x (pow (sqrt -1) 2)) (* y z))))))
(acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))))))
(acos (* 1/18 (* (sqrt t) (/ (* x (pow (sqrt -1) 2)) (* y z)))))
#s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))))
(* -1/18 (* (sqrt t) (/ (* x (pow (sqrt -1) 2)) (* y z))))
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))) (sqrt.f64 t))))

rewrite1.0ms (0%)

Memory
1.7MiB live, 1.7MiB allocated
Counts
13 → 13
Calls
Call 1
Inputs
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64))))
(/.f64 #s(literal 1 binary64) #s(literal 3 binary64))
#s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64)))
(*.f64 y #s(literal 27 binary64))
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))))))
(acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))))))
#s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))))
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))) (sqrt.f64 t))))
(acos.f64 (*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))) (sqrt.f64 t)))
(*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))) (sqrt.f64 t))
#s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))))
#s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))
Outputs
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64))))
(/.f64 #s(literal 1 binary64) #s(literal 3 binary64))
#s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64)))
(*.f64 y #s(literal 27 binary64))
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))))))
(acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))))))
#s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))))
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))) (sqrt.f64 t))))
(acos.f64 (*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))) (sqrt.f64 t)))
(*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))) (sqrt.f64 t))
#s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))))
#s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))

eval2.0ms (0%)

Memory
5.2MiB live, 5.2MiB allocated
Compiler

Compiled 886 to 52 computations (94.1% saved)

prune10.0ms (0.2%)

Memory
-27.3MiB live, 10.2MiB allocated
Pruning

10 alts after pruning (3 fresh and 7 done)

PrunedKeptTotal
New22325
Fresh000
Picked033
Done044
Total221032
Accuracy
98.5%
Counts
32 → 10
Alt Table
Click to see full alt table
StatusAccuracyProgram
97.7%
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t))))
86.9%
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 (/.f64 #s(approx (* 3 (/ x (* y 27))) (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t))))
53.7%
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))) (sqrt.f64 t))))
33.9%
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (*.f64 y #s(literal 27 binary64))) (sqrt.f64 t))))
23.9%
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))))))
27.7%
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64))))))
16.9%
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))))
3.7%
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64))))
3.9%
#s(approx (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))))
18.0%
#s(approx (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))))))
Compiler

Compiled 310 to 224 computations (27.7% saved)

simplify1.0ms (0%)

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

Found 12 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (*.f64 y #s(literal 27 binary64))) (sqrt.f64 t))
cost-diff0
(acos.f64 (*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (*.f64 y #s(literal 27 binary64))) (sqrt.f64 t)))
cost-diff0
(/.f64 #s(literal 1 binary64) #s(literal 3 binary64))
cost-diff0
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (*.f64 y #s(literal 27 binary64))) (sqrt.f64 t))))
cost-diff0
#s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64))))
cost-diff0
(acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64)))))
cost-diff0
(/.f64 #s(literal 1 binary64) #s(literal 3 binary64))
cost-diff0
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64))))))
cost-diff0
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))))
cost-diff0
#s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))))
cost-diff0
(acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))))))
cost-diff0
#s(approx (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))))))
Calls
Call 1
Inputs
#s(approx (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))))))
(acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))))))
#s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))))
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))))
(/.f64 #s(literal 1 binary64) #s(literal 3 binary64))
#s(literal 1 binary64)
#s(literal 3 binary64)
#s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64))))))
(/.f64 #s(literal 1 binary64) #s(literal 3 binary64))
#s(literal 1 binary64)
#s(literal 3 binary64)
(acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64)))))
#s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64))))
#s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64)))
(*.f64 y #s(literal 27 binary64))
y
#s(literal 27 binary64)
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (*.f64 y #s(literal 27 binary64))) (sqrt.f64 t))))
(/.f64 #s(literal 1 binary64) #s(literal 3 binary64))
#s(literal 1 binary64)
#s(literal 3 binary64)
(acos.f64 (*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (*.f64 y #s(literal 27 binary64))) (sqrt.f64 t)))
(*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (*.f64 y #s(literal 27 binary64))) (sqrt.f64 t))
#s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (*.f64 y #s(literal 27 binary64)))
(*.f64 y #s(literal 27 binary64))
y
#s(literal 27 binary64)
(sqrt.f64 t)
t
Outputs
#s(approx (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))))))
(acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))))))
#s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))))
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))))
(/.f64 #s(literal 1 binary64) #s(literal 3 binary64))
#s(literal 1 binary64)
#s(literal 3 binary64)
#s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64))))))
(/.f64 #s(literal 1 binary64) #s(literal 3 binary64))
#s(literal 1 binary64)
#s(literal 3 binary64)
(acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64)))))
#s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64))))
#s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64)))
(*.f64 y #s(literal 27 binary64))
y
#s(literal 27 binary64)
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (*.f64 y #s(literal 27 binary64))) (sqrt.f64 t))))
(/.f64 #s(literal 1 binary64) #s(literal 3 binary64))
#s(literal 1 binary64)
#s(literal 3 binary64)
(acos.f64 (*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (*.f64 y #s(literal 27 binary64))) (sqrt.f64 t)))
(*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (*.f64 y #s(literal 27 binary64))) (sqrt.f64 t))
#s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (*.f64 y #s(literal 27 binary64)))
(*.f64 y #s(literal 27 binary64))
y
#s(literal 27 binary64)
(sqrt.f64 t)
t

localize49.0ms (1%)

Memory
7.2MiB live, 84.0MiB allocated
Localize:

Found 12 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(acos.f64 (*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (*.f64 y #s(literal 27 binary64))) (sqrt.f64 t)))
accuracy0.97265625
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (*.f64 y #s(literal 27 binary64))) (sqrt.f64 t))))
accuracy3.7872275454077617
(*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (*.f64 y #s(literal 27 binary64))) (sqrt.f64 t))
accuracy62.103350683450856
#s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (*.f64 y #s(literal 27 binary64)))
accuracy0.0
(acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64)))))
accuracy0.97265625
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64))))))
accuracy61.618673591043496
#s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64)))
accuracy61.6647702475489
#s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64))))
accuracy0.97265625
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))))
accuracy52.60774083229577
#s(approx (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))))))
accuracy53.16237781234753
#s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))
accuracy61.658006704182405
#s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))))
Samples
33.0ms256×0valid
Compiler

Compiled 642 to 57 computations (91.1% saved)

Precisions
Click to see histograms. Total time spent on operations: 17.0ms
ival-mult: 7.0ms (40.7% of total)
ival-div: 6.0ms (34.9% of total)
ival-sqrt: 2.0ms (11.6% of total)
ival-acos: 2.0ms (11.6% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series15.0ms (0.3%)

Memory
26.2MiB live, 26.2MiB allocated
Counts
14 → 7
Calls
Call 1
Inputs
#s(approx (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))))))
(acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))))))
#s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))))
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))))
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64))))))
(/.f64 #s(literal 1 binary64) #s(literal 3 binary64))
(acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64)))))
#s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64))))
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (*.f64 y #s(literal 27 binary64))) (sqrt.f64 t))))
(acos.f64 (*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (*.f64 y #s(literal 27 binary64))) (sqrt.f64 t)))
(*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (*.f64 y #s(literal 27 binary64))) (sqrt.f64 t))
#s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))
#s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64)))
#s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (*.f64 y #s(literal 27 binary64)))
Outputs
(* 1/3 (acos (* 1/18 (* (sqrt t) (/ x (* y z))))))
(acos (* 1/18 (* (sqrt t) (/ x (* y z)))))
(* 1/18 (* (sqrt t) (/ x (* y z))))
(* 1/18 (/ x (* y z)))
(* 1/3 (acos (* 1/18 (* (sqrt t) (/ (* x (pow (sqrt -1) 2)) (* y z))))))
(acos (* 1/18 (* (sqrt t) (/ (* x (pow (sqrt -1) 2)) (* y z)))))
(* -1/18 (* (sqrt t) (/ (* x (pow (sqrt -1) 2)) (* y z))))
Calls

12 calls:

TimeVariablePointExpression
1.0ms
x
@inf
((* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/ (* 3 (/ x (* y 27))) (* z 2)))
1.0ms
t
@-inf
((* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/ (* 3 (/ x (* y 27))) (* z 2)))
1.0ms
x
@-inf
((* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/ (* 3 (/ x (* y 27))) (* z 2)))
1.0ms
x
@0
((* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/ (* 3 (/ x (* y 27))) (* z 2)))
1.0ms
y
@0
((* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/ (* 3 (/ x (* y 27))) (* z 2)))

simplify0.0ms (0%)

Memory
1.0MiB live, 1.0MiB allocated
Algorithm
egg-herbie
Counts
7 → 7
Calls
Call 1
Inputs
(* 1/3 (acos (* 1/18 (* (sqrt t) (/ x (* y z))))))
(acos (* 1/18 (* (sqrt t) (/ x (* y z)))))
(* 1/18 (* (sqrt t) (/ x (* y z))))
(* 1/18 (/ x (* y z)))
(* 1/3 (acos (* 1/18 (* (sqrt t) (/ (* x (pow (sqrt -1) 2)) (* y z))))))
(acos (* 1/18 (* (sqrt t) (/ (* x (pow (sqrt -1) 2)) (* y z)))))
(* -1/18 (* (sqrt t) (/ (* x (pow (sqrt -1) 2)) (* y z))))
Outputs
(* 1/3 (acos (* 1/18 (* (sqrt t) (/ x (* y z))))))
#s(approx (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))))))
(acos (* 1/18 (* (sqrt t) (/ x (* y z)))))
(acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))))))
(* 1/18 (* (sqrt t) (/ x (* y z))))
#s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))))
(* 1/18 (/ x (* y z)))
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))))
(* 1/3 (acos (* 1/18 (* (sqrt t) (/ (* x (pow (sqrt -1) 2)) (* y z))))))
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64))))))
(acos (* 1/18 (* (sqrt t) (/ (* x (pow (sqrt -1) 2)) (* y z)))))
(/.f64 #s(literal 1 binary64) #s(literal 3 binary64))
(* -1/18 (* (sqrt t) (/ (* x (pow (sqrt -1) 2)) (* y z))))
(acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64)))))

rewrite1.0ms (0%)

Memory
1.7MiB live, 1.7MiB allocated
Counts
14 → 14
Calls
Call 1
Inputs
#s(approx (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))))))
(acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))))))
#s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))))
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))))
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64))))))
(/.f64 #s(literal 1 binary64) #s(literal 3 binary64))
(acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64)))))
#s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64))))
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (*.f64 y #s(literal 27 binary64))) (sqrt.f64 t))))
(acos.f64 (*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (*.f64 y #s(literal 27 binary64))) (sqrt.f64 t)))
(*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (*.f64 y #s(literal 27 binary64))) (sqrt.f64 t))
#s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))
#s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64)))
#s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (*.f64 y #s(literal 27 binary64)))
Outputs
#s(approx (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))))))
(acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))))))
#s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))))
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))))
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64))))))
(/.f64 #s(literal 1 binary64) #s(literal 3 binary64))
(acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64)))))
#s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64))))
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (*.f64 y #s(literal 27 binary64))) (sqrt.f64 t))))
(acos.f64 (*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (*.f64 y #s(literal 27 binary64))) (sqrt.f64 t)))
(*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (*.f64 y #s(literal 27 binary64))) (sqrt.f64 t))
#s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))
#s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64)))
#s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (*.f64 y #s(literal 27 binary64)))

eval6.0ms (0.1%)

Memory
-40.6MiB live, 4.2MiB allocated
Compiler

Compiled 1 104 to 52 computations (95.3% saved)

prune6.0ms (0.1%)

Memory
12.7MiB live, 12.7MiB allocated
Pruning

8 alts after pruning (2 fresh and 6 done)

PrunedKeptTotal
New21223
Fresh000
Picked123
Done347
Total25833
Accuracy
98.5%
Counts
33 → 8
Alt Table
Click to see full alt table
StatusAccuracyProgram
97.7%
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t))))
86.9%
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 (/.f64 #s(approx (* 3 (/ x (* y 27))) (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t))))
53.7%
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))) (sqrt.f64 t))))
53.9%
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))))) (sqrt.f64 t))))
33.9%
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (*.f64 y #s(literal 27 binary64))) (sqrt.f64 t))))
23.9%
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))))))
27.7%
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64))))))
19.5%
#s(approx (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))))
Compiler

Compiled 652 to 242 computations (62.9% saved)

regimes56.0ms (1.1%)

Memory
-7.7MiB live, 107.7MiB allocated
Counts
12 → 1
Calls
Call 1
Inputs
#s(approx (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))))
#s(approx (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))))
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64))))
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))))
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64))))))
#s(approx (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))))))
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (*.f64 y #s(literal 27 binary64))) (sqrt.f64 t))))
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))) (sqrt.f64 t))))
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))))))
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))))) (sqrt.f64 t))))
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t))))
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 (/.f64 #s(approx (* 3 (/ x (* y 27))) (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t))))
Outputs
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t))))
Calls

13 calls:

7.0ms
(/.f64 x (*.f64 y #s(literal 27 binary64)))
5.0ms
x
5.0ms
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t))))
4.0ms
(*.f64 z #s(literal 2 binary64))
4.0ms
(sqrt.f64 t)
Results
AccuracySegmentsBranch
97.7%1x
97.7%1y
97.7%1z
97.7%1t
97.7%1(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t))))
97.7%1(acos.f64 (*.f64 (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t)))
97.7%1(*.f64 (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t))
97.7%1(/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64)))
97.7%1(*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64))))
97.7%1(/.f64 x (*.f64 y #s(literal 27 binary64)))
97.7%1(*.f64 y #s(literal 27 binary64))
97.7%1(*.f64 z #s(literal 2 binary64))
97.7%1(sqrt.f64 t)
Compiler

Compiled 83 to 108 computations (-30.1% saved)

regimes48.0ms (1%)

Memory
20.3MiB live, 110.3MiB allocated
Counts
10 → 3
Calls
Call 1
Inputs
#s(approx (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))))
#s(approx (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))))
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64))))
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))))
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64))))))
#s(approx (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))))))
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (*.f64 y #s(literal 27 binary64))) (sqrt.f64 t))))
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))) (sqrt.f64 t))))
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))))))
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))))) (sqrt.f64 t))))
Outputs
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))))) (sqrt.f64 t))))
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64))))))
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))))))
Calls

13 calls:

7.0ms
(/.f64 x (*.f64 y #s(literal 27 binary64)))
4.0ms
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t))))
3.0ms
(*.f64 z #s(literal 2 binary64))
3.0ms
(sqrt.f64 t)
3.0ms
t
Results
AccuracySegmentsBranch
53.9%1x
63.1%3y
53.9%1z
65.7%3t
53.9%1(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t))))
53.9%1(acos.f64 (*.f64 (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t)))
53.9%1(*.f64 (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t))
53.9%1(/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64)))
55.6%2(*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64))))
55.6%2(/.f64 x (*.f64 y #s(literal 27 binary64)))
63.1%3(*.f64 y #s(literal 27 binary64))
53.9%1(*.f64 z #s(literal 2 binary64))
65.7%3(sqrt.f64 t)
Compiler

Compiled 83 to 108 computations (-30.1% saved)

regimes8.0ms (0.2%)

Memory
-22.1MiB live, 16.9MiB allocated
Counts
9 → 3
Calls
Call 1
Inputs
#s(approx (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))))
#s(approx (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))))
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64))))
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))))
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64))))))
#s(approx (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))))))
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (*.f64 y #s(literal 27 binary64))) (sqrt.f64 t))))
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))) (sqrt.f64 t))))
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))))))
Outputs
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))) (sqrt.f64 t))))
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64))))))
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))))))
Calls

2 calls:

4.0ms
(sqrt.f64 t)
3.0ms
t
Results
AccuracySegmentsBranch
65.6%3t
65.6%3(sqrt.f64 t)
Compiler

Compiled 3 to 9 computations (-200% saved)

regimes7.0ms (0.1%)

Memory
16.0MiB live, 16.0MiB allocated
Counts
8 → 2
Calls
Call 1
Inputs
#s(approx (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))))
#s(approx (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))))
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64))))
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))))
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64))))))
#s(approx (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))))))
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (*.f64 y #s(literal 27 binary64))) (sqrt.f64 t))))
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))) (sqrt.f64 t))))
Outputs
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))) (sqrt.f64 t))))
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64))))))
Calls

2 calls:

3.0ms
(sqrt.f64 t)
3.0ms
t
Results
AccuracySegmentsBranch
63.1%2t
63.1%2(sqrt.f64 t)
Compiler

Compiled 3 to 9 computations (-200% saved)

regimes36.0ms (0.7%)

Memory
-14.0MiB live, 65.1MiB allocated
Counts
7 → 3
Calls
Call 1
Inputs
#s(approx (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))))
#s(approx (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))))
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64))))
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))))
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64))))))
#s(approx (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))))))
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (*.f64 y #s(literal 27 binary64))) (sqrt.f64 t))))
Outputs
#s(approx (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))))
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (*.f64 y #s(literal 27 binary64))) (sqrt.f64 t))))
#s(approx (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))))
Calls

13 calls:

4.0ms
x
3.0ms
(*.f64 y #s(literal 27 binary64))
3.0ms
(sqrt.f64 t)
3.0ms
t
3.0ms
z
Results
AccuracySegmentsBranch
33.9%1(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t))))
33.9%1(acos.f64 (*.f64 (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t)))
35.8%2x
33.9%1(/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64)))
33.9%1z
33.9%1(*.f64 (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t))
33.9%1(*.f64 z #s(literal 2 binary64))
38.2%3(*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64))))
38.2%3(/.f64 x (*.f64 y #s(literal 27 binary64)))
42.9%3y
42.9%3(*.f64 y #s(literal 27 binary64))
36.8%2t
36.8%2(sqrt.f64 t)
Compiler

Compiled 83 to 108 computations (-30.1% saved)

regimes5.0ms (0.1%)

Memory
11.6MiB live, 11.6MiB allocated
Counts
6 → 3
Calls
Call 1
Inputs
#s(approx (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))))
#s(approx (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))))
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64))))
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))))
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64))))))
#s(approx (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))))))
Outputs
#s(approx (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))))
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64))))))
#s(approx (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))))
Calls

2 calls:

2.0ms
(*.f64 y #s(literal 27 binary64))
2.0ms
y
Results
AccuracySegmentsBranch
41.2%3y
41.2%3(*.f64 y #s(literal 27 binary64))
Compiler

Compiled 4 to 10 computations (-150% saved)

regimes26.0ms (0.5%)

Memory
-21.0MiB live, 56.0MiB allocated
Accuracy

Total -11.0b remaining (-21.3%)

Threshold costs -11b (-21.3%)

Counts
4 → 1
Calls
Call 1
Inputs
#s(approx (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))))
#s(approx (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))))
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64))))
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))))
Outputs
#s(approx (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))))
Calls

13 calls:

3.0ms
t
2.0ms
(*.f64 z #s(literal 2 binary64))
2.0ms
y
2.0ms
(*.f64 y #s(literal 27 binary64))
2.0ms
(sqrt.f64 t)
Results
AccuracySegmentsBranch
19.5%1(/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64)))
19.5%1(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t))))
19.5%1(acos.f64 (*.f64 (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t)))
19.5%1(*.f64 (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t))
19.5%1z
19.5%1(*.f64 z #s(literal 2 binary64))
19.5%1x
19.5%1(*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64))))
19.5%1(/.f64 x (*.f64 y #s(literal 27 binary64)))
19.5%1t
19.5%1(sqrt.f64 t)
19.5%1y
19.5%1(*.f64 y #s(literal 27 binary64))
Compiler

Compiled 83 to 108 computations (-30.1% saved)

bsearch38.0ms (0.8%)

Memory
25.8MiB live, 64.2MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
18.0ms
1.1759834740480606e+57
2.761053574158109e+59
16.0ms
0.11869936970422072
5.547120954528828
Samples
21.0ms224×0valid
3.0ms38×0invalid
Compiler

Compiled 1 163 to 718 computations (38.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 16.0ms
ival-mult: 7.0ms (42.7% of total)
ival-div: 6.0ms (36.6% of total)
ival-acos: 2.0ms (12.2% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

bsearch18.0ms (0.4%)

Memory
-13.7MiB live, 26.8MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
1.0ms
1.1759834740480606e+57
2.761053574158109e+59
15.0ms
0.11869936970422072
5.547120954528828
Samples
10.0ms80×0valid
1.0ms13×0invalid
Compiler

Compiled 1 023 to 683 computations (33.2% saved)

Precisions
Click to see histograms. Total time spent on operations: 8.0ms
ival-mult: 5.0ms (61.9% of total)
ival-div: 2.0ms (24.8% of total)
ival-acos: 1.0ms (12.4% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

bsearch1.0ms (0%)

Memory
2.4MiB live, 2.4MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
1.0ms
0.11869936970422072
5.547120954528828
Compiler

Compiled 449 to 340 computations (24.3% saved)

bsearch47.0ms (0.9%)

Memory
5.4MiB live, 82.7MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
21.0ms
1.2943977136698765e+69
6.786030929673455e+75
22.0ms
-1.0094063258943796e+92
-4.1466126938807195e+82
Samples
28.0ms288×0valid
2.0ms28×0invalid
Compiler

Compiled 1 102 to 835 computations (24.2% saved)

Precisions
Click to see histograms. Total time spent on operations: 21.0ms
ival-div: 7.0ms (33% of total)
ival-mult: 7.0ms (33% of total)
ival-acos: 4.0ms (18.9% of total)
ival-sqrt: 2.0ms (9.4% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

bsearch45.0ms (0.9%)

Memory
21.9MiB live, 60.4MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
17.0ms
0.15514364541845324
13.034328539592545
23.0ms
-2.908284739945411
-6.219744487001646e-7
Samples
23.0ms256×0valid
5.0ms53×0invalid
Compiler

Compiled 1 238 to 777 computations (37.2% saved)

Precisions
Click to see histograms. Total time spent on operations: 19.0ms
ival-mult: 7.0ms (37.6% of total)
ival-div: 6.0ms (32.3% of total)
ival-sqrt: 2.0ms (10.8% of total)
ival-acos: 2.0ms (10.8% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

simplify11.0ms (0.2%)

Memory
-28.5MiB live, 10.8MiB allocated
Algorithm
egg-herbie
Calls
Call 1
Inputs
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t))))
(if (<=.f64 (sqrt.f64 t) #s(literal 5584463537939415/9007199254740992 binary64)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))))) (sqrt.f64 t)))) (if (<=.f64 (sqrt.f64 t) #s(literal 75000000000000000664184186986676043329417030355678056677376 binary64)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64)))))) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))))))))
(if (<=.f64 (sqrt.f64 t) #s(literal 1261007895663739/4503599627370496 binary64)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))) (sqrt.f64 t)))) (if (<=.f64 (sqrt.f64 t) #s(literal 75000000000000000664184186986676043329417030355678056677376 binary64)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64)))))) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))))))))
(if (<=.f64 (sqrt.f64 t) #s(literal 1261007895663739/4503599627370496 binary64)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))) (sqrt.f64 t)))) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64)))))))
(if (<=.f64 (*.f64 y #s(literal 27 binary64)) #s(literal -35000000000000000070804278645219069770522953764719027746837274306257037957919038784032210944 binary64)) #s(approx (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))) (if (<=.f64 (*.f64 y #s(literal 27 binary64)) #s(literal 2299999999999999851128222259144135968344773549223308672231624187779743744000 binary64)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (*.f64 y #s(literal 27 binary64))) (sqrt.f64 t)))) #s(approx (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))))))
(if (<=.f64 (*.f64 y #s(literal 27 binary64)) #s(literal -7926335344172073/9007199254740992 binary64)) #s(approx (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))) (if (<=.f64 (*.f64 y #s(literal 27 binary64)) #s(literal 1170935903116329/2251799813685248 binary64)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64)))))) #s(approx (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))))))
#s(approx (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))))
Outputs
(*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 (/.f64 (*.f64 #s(literal 3 binary64) (/.f64 x (*.f64 y #s(literal 27 binary64)))) (*.f64 z #s(literal 2 binary64))) (sqrt.f64 t))))
(if (<=.f64 (sqrt.f64 t) #s(literal 5584463537939415/9007199254740992 binary64)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))))) (sqrt.f64 t)))) (if (<=.f64 (sqrt.f64 t) #s(literal 75000000000000000664184186986676043329417030355678056677376 binary64)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64)))))) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))))))))
(if (<=.f64 (sqrt.f64 t) #s(literal 1261007895663739/4503599627370496 binary64)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))) (sqrt.f64 t)))) (if (<=.f64 (sqrt.f64 t) #s(literal 75000000000000000664184186986676043329417030355678056677376 binary64)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64)))))) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))))))))
(if (<=.f64 (sqrt.f64 t) #s(literal 1261007895663739/4503599627370496 binary64)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))) (sqrt.f64 t)))) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64)))))))
(if (<=.f64 (*.f64 y #s(literal 27 binary64)) #s(literal -35000000000000000070804278645219069770522953764719027746837274306257037957919038784032210944 binary64)) #s(approx (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))) (if (<=.f64 (*.f64 y #s(literal 27 binary64)) #s(literal 2299999999999999851128222259144135968344773549223308672231624187779743744000 binary64)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 (*.f64 #s(approx (/ (* 3 (/ x (* y 27))) (* z 2)) (*.f64 y #s(literal 27 binary64))) (sqrt.f64 t)))) #s(approx (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))))))
(if (<=.f64 (*.f64 y #s(literal 27 binary64)) #s(literal -7926335344172073/9007199254740992 binary64)) #s(approx (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)))) (if (<=.f64 (*.f64 y #s(literal 27 binary64)) #s(literal 1170935903116329/2251799813685248 binary64)) (*.f64 (/.f64 #s(literal 1 binary64) #s(literal 3 binary64)) (acos.f64 #s(approx (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (*.f64 y #s(literal 27 binary64)))))) #s(approx (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))))))
#s(approx (* (/ 1 3) (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t)))) #s(approx (acos (* (/ (* 3 (/ x (* y 27))) (* z 2)) (sqrt t))) (/.f64 #s(literal 1 binary64) #s(literal 3 binary64))))

soundness4.0ms (0.1%)

Memory
6.6MiB live, 6.6MiB allocated
Stop Event
fuel
Compiler

Compiled 617 to 76 computations (87.7% saved)

preprocess53.0ms (1.1%)

Memory
3.1MiB live, 76.9MiB allocated
Compiler

Compiled 1 306 to 220 computations (83.2% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...